From f4bc07d375f13b762b2fcb70baa02a3de8503512 Mon Sep 17 00:00:00 2001 From: Matthias Weiss Date: Thu, 9 May 2019 11:45:53 +0200 Subject: [PATCH] Add negative tests for RoleService --- mocks/no_role.json | 8 +++++++ mocks/no_roles.json | 0 role_test.go | 52 ++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 mocks/no_role.json create mode 100644 mocks/no_roles.json diff --git a/mocks/no_role.json b/mocks/no_role.json new file mode 100644 index 0000000..f66d927 --- /dev/null +++ b/mocks/no_role.json @@ -0,0 +1,8 @@ +{ + "errorMessages": [ + "Role with given id not found." + ], + "errors": { + + } +} \ No newline at end of file diff --git a/mocks/no_roles.json b/mocks/no_roles.json new file mode 100644 index 0000000..e69de29 diff --git a/role_test.go b/role_test.go index 31a1a33..7719790 100644 --- a/role_test.go +++ b/role_test.go @@ -7,6 +7,31 @@ import ( "testing" ) +func TestRoleService_GetList_NoList(t *testing.T) { + setup() + defer teardown() + testAPIEndpoint := "/rest/api/3/role" + + raw, err := ioutil.ReadFile("./mocks/no_roles.json") + if err != nil { + t.Error(err.Error()) + } + + testMux.HandleFunc(testAPIEndpoint, func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + testRequestURL(t, r, testAPIEndpoint) + fmt.Fprintf(w, string(raw)) + }) + + roles, _, err := testClient.Role.GetList() + if roles != nil { + t.Errorf("Expected role list has %d entries but should be nil", len(*roles)) + } + if err == nil { + t.Errorf("No error given") + } +} + func TestRoleService_GetList(t *testing.T) { setup() defer teardown() @@ -26,11 +51,37 @@ func TestRoleService_GetList(t *testing.T) { if roles == nil { t.Error("Expected role list. Role list is nil") } + if len(*roles) != 2 { + t.Errorf("Expected %d roles but got %d", 2, len(*roles)) + } if err != nil { t.Errorf("Error given: %v", err) } } +func TestRoleService_Get_NoRole(t *testing.T) { + setup() + defer teardown() + testAPIEdpoint := "/rest/api/3/role/99999" + raw, err := ioutil.ReadFile("./mocks/no_role.json") + if err != nil { + t.Error(err.Error()) + } + testMux.HandleFunc(testAPIEdpoint, func(writer http.ResponseWriter, request *http.Request) { + testMethod(t, request, "GET") + testRequestURL(t, request, testAPIEdpoint) + fmt.Fprintf(writer, string(raw)) + }) + + role, _, err := testClient.Role.Get(99999) + if role != nil { + t.Errorf("Expected nil, got role %v", role) + } + if err == nil { + t.Errorf("No error given") + } +} + func TestRoleService_Get(t *testing.T) { setup() defer teardown() @@ -52,5 +103,4 @@ func TestRoleService_Get(t *testing.T) { if err != nil { t.Errorf("Error given: %s", err) } - }