Coverage tests for utils

This commit is contained in:
nickolasdaniel
2021-04-06 17:36:14 +03:00
committed by Dan Christian Bogos
parent 346bb015a1
commit a6fbaab1a2
2 changed files with 138 additions and 10 deletions

View File

@@ -377,11 +377,26 @@ func TestAppend2(t *testing.T) {
dn.Type = NMMapType
dn.Slice = nil
dn.Map = map[string]*DataNode{}
if rcv, err := dn.Append(testPath, val1); err != nil {
dnMapExpect := map[string]*DataNode{
"0": &DataNode{
Type: NMMapType,
Map: map[string]*DataNode{
testPath[1]: &DataNode{
Type: NMSliceType,
Slice: []*DataNode{
{
Type: NMDataType,
Value: val1,
},
},
},
},
},
}
if _, err := dn.Append(testPath, val1); err != nil {
t.Error(err)
} else if rcv != 0 {
t.Errorf("Expected %+v, received %+v", 0, rcv)
} else if !reflect.DeepEqual(dnMapExpect, dn.Map) {
t.Errorf("Expected %v but recived %v", ToJSON(dnMapExpect), ToJSON(dn.Map))
}
///
@@ -409,12 +424,29 @@ func TestAppend2(t *testing.T) {
t.Errorf("Expected %v but received %v", -1, rcv)
}
///
dn.Map = nil
dn.Slice = nil
testPath = []string{"0", "testPath"}
if rcv, err := dn.Append(testPath, val1); err != nil {
dnSliceExpect := []*DataNode{
{
Type: NMMapType,
Map: map[string]*DataNode{
testPath[1]: &DataNode{
Type: NMSliceType,
Slice: []*DataNode{
{
Type: NMDataType,
Value: val1,
},
},
},
},
},
}
if _, err := dn.Append(testPath, val1); err != nil {
t.Error(err)
} else if rcv == -1 {
t.Errorf("Expected %v but received %v", -1, rcv)
} else if !reflect.DeepEqual(dn.Slice, dnSliceExpect) {
t.Errorf("Expected %v but recived %v", ToJSON(dn.Slice), ToJSON(dnSliceExpect))
}
///
@@ -504,11 +536,26 @@ func TestCompose2(t *testing.T) {
///
dn.Slice = nil
testPath = []string{"0", "testPath"}
if err := dn.Compose(testPath, val); err != nil {
t.Error(err)
dnSliceExpect := []*DataNode{
{
Type: NMMapType,
Map: map[string]*DataNode{
testPath[1]: &DataNode{
Type: NMSliceType,
Slice: []*DataNode{
{
Type: NMDataType,
Value: val,
},
},
},
},
},
}
if err := dn.Compose(testPath, val); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(dn.Slice, dnSliceExpect) {
t.Errorf("Expected %v but recived %v", ToJSON(dn.Slice), ToJSON(dnSliceExpect))
}
///

View File

@@ -134,3 +134,84 @@ func TestComposeNavMapVal(t *testing.T) {
t.Errorf("Expected error: %s received: %v", ErrWrongPath, err)
}
}
func TestIsPathValid(t *testing.T) {
path := "Field1.Field2[0]"
if err := IsPathValid(path); err != nil {
t.Error(err)
}
///
path = "~Field1"
errExpect := "Path is missing "
if err := IsPathValid(path); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
///
path = "~Field1.\n\t.Field2[0]"
errExpect = "Empty field path "
if err := IsPathValid(path); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
///
path = "~Field1.Field2[0]"
if err := IsPathValid(path); err != nil {
t.Error(err)
}
}
func TestIsPathValidForExporters(t *testing.T) {
path := "Field1.Field2[0]"
if err := IsPathValidForExporters(path); err != nil {
t.Error(err)
}
///
path = "~Field1.\n\t.Field2[0]"
errExpect := "Empty field path "
if err := IsPathValidForExporters(path); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
///
path = "~Field1.Field2[0]"
if err := IsPathValidForExporters(path); err != nil {
t.Error(err)
}
}
func TestCheckInLineFilter(t *testing.T) {
fltrs := []string{"Test1", "Test2"}
if err := CheckInLineFilter(fltrs); err != nil {
t.Error(err)
}
///
fltrs = []string{"*Test1", "*Test2"}
errExpect := "inline parse error for string: <*Test1>"
if err := CheckInLineFilter(fltrs); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
///
fltrs = []string{"*Test1:*Test2:*Test3:*Test4"}
if err := CheckInLineFilter(fltrs); err != nil {
t.Error(err)
}
///
fltrs = []string{"*empty:~Field1..Field2[0]:*Test3:*Test4"}
errExpect = "Empty field path for <*empty:~Field1..Field2[0]:*Test3:*Test4>"
if err := CheckInLineFilter(fltrs); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
///
fltrs = []string{"*empty:~Field1.Field2[0]:~Field1..Field2[0]|Test4"}
errExpect = "Empty field path for <*empty:~Field1.Field2[0]:~Field1..Field2[0]|Test4>"
if err := CheckInLineFilter(fltrs); err == nil || err.Error() != errExpect {
t.Errorf("Expected %v but received %v", errExpect, err)
}
}