Fix testhelper.deepDiffEqual (#374)
* Fix deepdiff comparison with maps
* Fix RemainingKeys function
* Fix unit tests
* Another fix of RemainingKeys
* RemainingKeys cleanup
* Simplifying RemainingKeys
* Revert continue on invalid. Fix broken tests
Related-PROD: PROD-28126
Change-Id: Ifc5afaf1278c7cff3a89b23a1fd1876aac1dff34
diff --git a/internal/testing/util_test.go b/internal/testing/util_test.go
index a4f03ef..5cede6d 100644
--- a/internal/testing/util_test.go
+++ b/internal/testing/util_test.go
@@ -1,36 +1,42 @@
package testing
import (
+ "reflect"
"testing"
"gerrit.mcp.mirantis.net/debian/gophercloud.git/internal"
- th "gerrit.mcp.mirantis.net/debian/gophercloud.git/testhelper"
)
func TestRemainingKeys(t *testing.T) {
type User struct {
- FirstName string `json:"first_name"`
- LastName string `json:"last_name"`
- City string
+ UserID string `json:"user_id"`
+ Username string `json:"username"`
+ Location string `json:"-"`
+ CreatedAt string `json:"-"`
+ Status string
+ IsAdmin bool
}
- userStruct := User{
- FirstName: "John",
- LastName: "Doe",
- }
-
- userMap := map[string]interface{}{
- "first_name": "John",
- "last_name": "Doe",
- "city": "Honolulu",
- "state": "Hawaii",
+ userResponse := map[string]interface{}{
+ "user_id": "abcd1234",
+ "username": "jdoe",
+ "location": "Hawaii",
+ "created_at": "2017-06-08T02:49:03.000000",
+ "status": "active",
+ "is_admin": "true",
+ "custom_field": "foo",
}
expected := map[string]interface{}{
- "city": "Honolulu",
- "state": "Hawaii",
+ "created_at": "2017-06-08T02:49:03.000000",
+ "is_admin": "true",
+ "custom_field": "foo",
}
- actual := internal.RemainingKeys(userStruct, userMap)
- th.AssertDeepEquals(t, expected, actual)
+ actual := internal.RemainingKeys(User{}, userResponse)
+
+ isEqual := reflect.DeepEqual(expected, actual)
+ if !isEqual {
+ t.Fatalf("expected %s but got %s", expected, actual)
+ }
}