Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
39
pkg/testhelper/json_compare_test.go
Normal file
39
pkg/testhelper/json_compare_test.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package testhelper_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
th "fiskerinc.com/modules/testhelper"
|
||||
)
|
||||
|
||||
func TestJSONCompare(t *testing.T) {
|
||||
comparer := th.JSONComparer{
|
||||
IgnoreProps: []string{"prop3"},
|
||||
}
|
||||
defer comparer.Close()
|
||||
ref := []byte(`{"prop1": 1, "prop2": "x", "prop3": true, "prop4": true, "prop5": {"prop1": 1, "prop2": "x", "prop3": true, "prop4": true}, "prop10": 1, "prop11": "x", "prop12": true, "prop13": true, "prop14": {"prop10": 1, "prop11": "x", "prop12": true, "prop13": true}}`)
|
||||
comp := []byte(`{"prop1": 2, "prop2": "X", "prop3": false, "prop4": false, "prop5": {"prop1": 3, "prop2": "Y", "prop3": false, "prop4": false}, "prop10": 1, "prop11": "x", "prop12": true, "prop13": true, "prop14": {"prop10": 1, "prop11": "x", "prop12": true, "prop13": true}}`)
|
||||
|
||||
diff, err := comparer.GetDiff(ref, comp)
|
||||
if err != nil {
|
||||
t.Errorf(th.TestErrorTemplate, "JSONComparer.GetDiff error", nil, err)
|
||||
return
|
||||
}
|
||||
|
||||
th.MapHasValue(t, "prop1 = 1", diff, "prop1", float64(1))
|
||||
th.MapHasValue(t, "prop2 = X", diff, "prop2", "x")
|
||||
th.MapKeyNotExists(t, "prop3 ignored", diff, "prop3")
|
||||
th.MapHasValue(t, "prop4 = true", diff, "prop4", true)
|
||||
th.MapHasValue(t, "prop5.prop1 = 1", diff, "prop5.prop1", float64(1))
|
||||
th.MapHasValue(t, "prop5.prop2 = X", diff, "prop5.prop2", "x")
|
||||
th.MapHasValue(t, "prop5.prop4 = true", diff, "prop5.prop4", true)
|
||||
th.MapKeyNotExists(t, "no prop10", diff, "prop10")
|
||||
th.MapKeyNotExists(t, "no prop11", diff, "prop11")
|
||||
th.MapKeyNotExists(t, "no prop12", diff, "prop12")
|
||||
th.MapKeyNotExists(t, "no prop13", diff, "prop13")
|
||||
th.MapKeyNotExists(t, "no prop14", diff, "prop14")
|
||||
th.MapKeyNotExists(t, "no prop14.prop10", diff, "prop14.prop10")
|
||||
th.MapKeyNotExists(t, "no prop14.prop11", diff, "prop14.prop11")
|
||||
th.MapKeyNotExists(t, "no prop14.prop12", diff, "prop14.prop12")
|
||||
th.MapKeyNotExists(t, "no prop14.prop13", diff, "prop14.prop13")
|
||||
}
|
||||
Reference in New Issue
Block a user