From e9ee50babb3bbfe7a6e774460a46782abefd5107 Mon Sep 17 00:00:00 2001 From: Kiran Kamineni Date: Thu, 17 Jan 2019 11:49:39 -0800 Subject: Minor refactoring of definition unit tests The definition unit tests needed some small changes to ensure consistency between the source and the tests. P3: Sort both the slices before running DeepEqual Issue-ID: MULTICLOUD-440 Change-Id: If797322e44321a580cb1441bd5c60b812799f844 Signed-off-by: Kiran Kamineni --- src/k8splugin/api/defhandler_test.go | 22 +++++++++++++++++----- src/k8splugin/rb/definition_test.go | 24 ++++++++++++++++++------ 2 files changed, 35 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/k8splugin/api/defhandler_test.go b/src/k8splugin/api/defhandler_test.go index 9739ab12..3dbd1aa4 100644 --- a/src/k8splugin/api/defhandler_test.go +++ b/src/k8splugin/api/defhandler_test.go @@ -24,6 +24,7 @@ import ( "net/http" "net/http/httptest" "reflect" + "sort" "testing" pkgerrors "github.com/pkg/errors" @@ -116,7 +117,7 @@ func TestRBDefCreateHandler(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.label, func(t *testing.T) { vh := rbDefinitionHandler{client: testCase.rbDefClient} - req, err := http.NewRequest("POST", "/v1/resource/definition", testCase.reader) + req, err := http.NewRequest("POST", "/v1/rb/definition", testCase.reader) if err != nil { t.Fatal(err) @@ -193,7 +194,7 @@ func TestRBDefListHandler(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.label, func(t *testing.T) { vh := rbDefinitionHandler{client: testCase.rbDefClient} - req, err := http.NewRequest("GET", "/v1/resource/definition", nil) + req, err := http.NewRequest("GET", "/v1/rb/definition", nil) if err != nil { t.Fatal(err) } @@ -212,6 +213,17 @@ func TestRBDefListHandler(t *testing.T) { got := []rb.Definition{} json.NewDecoder(rr.Body).Decode(&got) + // Since the order of returned slice is not guaranteed + // Check both and return error if both don't match + sort.Slice(got, func(i, j int) bool { + return got[i].UUID < got[i].UUID + }) + // Sort both as it is not expected that testCase.expected + // is sorted + sort.Slice(testCase.expected, func(i, j int) bool { + return testCase.expected[i].UUID < testCase.expected[i].UUID + }) + if reflect.DeepEqual(testCase.expected, got) == false { t.Errorf("listHandler returned unexpected body: got %v;"+ " expected %v", got, testCase.expected) @@ -267,7 +279,7 @@ func TestRBDefGetHandler(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.label, func(t *testing.T) { vh := rbDefinitionHandler{client: testCase.rbDefClient} - req, err := http.NewRequest("GET", "/v1/resource/definition/"+testCase.inpUUID, nil) + req, err := http.NewRequest("GET", "/v1/rb/definition/"+testCase.inpUUID, nil) if err != nil { t.Fatal(err) } @@ -322,7 +334,7 @@ func TestRBDefDeleteHandler(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.label, func(t *testing.T) { vh := rbDefinitionHandler{client: testCase.rbDefClient} - req, err := http.NewRequest("GET", "/v1/resource/definition/"+testCase.inpUUID, nil) + req, err := http.NewRequest("GET", "/v1/rb/definition/"+testCase.inpUUID, nil) if err != nil { t.Fatal(err) } @@ -382,7 +394,7 @@ func TestRBDefUploadHandler(t *testing.T) { t.Run(testCase.label, func(t *testing.T) { vh := rbDefinitionHandler{client: testCase.rbDefClient} req, err := http.NewRequest("POST", - "/v1/resource/definition/"+testCase.inpUUID+"/content", testCase.body) + "/v1/rb/definition/"+testCase.inpUUID+"/content", testCase.body) if err != nil { t.Fatal(err) diff --git a/src/k8splugin/rb/definition_test.go b/src/k8splugin/rb/definition_test.go index 1e488678..0e4ffd91 100644 --- a/src/k8splugin/rb/definition_test.go +++ b/src/k8splugin/rb/definition_test.go @@ -21,13 +21,14 @@ package rb import ( "k8splugin/db" "reflect" + "sort" "strings" "testing" pkgerrors "github.com/pkg/errors" ) -func TestCreate(t *testing.T) { +func TestCreateDefinition(t *testing.T) { testCases := []struct { label string inp Definition @@ -83,7 +84,7 @@ func TestCreate(t *testing.T) { } } -func TestList(t *testing.T) { +func TestListDefinition(t *testing.T) { testCases := []struct { label string @@ -145,6 +146,17 @@ func TestList(t *testing.T) { t.Fatalf("List returned an unexpected error %s", err) } } else { + // Since the order of returned slice is not guaranteed + // Check both and return error if both don't match + sort.Slice(got, func(i, j int) bool { + return got[i].UUID < got[i].UUID + }) + // Sort both as it is not expected that testCase.expected + // is sorted + sort.Slice(testCase.expected, func(i, j int) bool { + return testCase.expected[i].UUID < testCase.expected[i].UUID + }) + if reflect.DeepEqual(testCase.expected, got) == false { t.Errorf("List Resource Bundle returned unexpected body: got %v;"+ " expected %v", got, testCase.expected) @@ -154,7 +166,7 @@ func TestList(t *testing.T) { } } -func TestGet(t *testing.T) { +func TestGetDefinition(t *testing.T) { testCases := []struct { label string @@ -214,7 +226,7 @@ func TestGet(t *testing.T) { } } -func TestDelete(t *testing.T) { +func TestDeleteDefinition(t *testing.T) { testCases := []struct { label string @@ -253,7 +265,7 @@ func TestDelete(t *testing.T) { } } -func TestUpload(t *testing.T) { +func TestUploadDefinition(t *testing.T) { testCases := []struct { label string inp string @@ -325,7 +337,7 @@ func TestUpload(t *testing.T) { "123e4567-e89b-12d3-a456-426655441111": []byte( "{\"name\":\"testresourcebundle\"," + "\"description\":\"testresourcebundle\"," + - "\"uuid\":\"123e4567-e89b-12d3-a456-426655440000\"," + + "\"uuid\":\"123e4567-e89b-12d3-a456-426655441111\"," + "\"service-type\":\"firewall\"}"), }, }, -- cgit 1.2.3-korg