github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/identity/v2/roles/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/vnpaycloud-console/gophercloud/v2/openstack/identity/v2/roles" 8 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 9 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 10 "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client" 11 ) 12 13 func TestRole(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 17 MockListRoleResponse(t) 18 19 count := 0 20 21 err := roles.List(client.ServiceClient()).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 22 count++ 23 actual, err := roles.ExtractRoles(page) 24 if err != nil { 25 t.Errorf("Failed to extract users: %v", err) 26 return false, err 27 } 28 29 expected := []roles.Role{ 30 { 31 ID: "123", 32 Name: "compute:admin", 33 Description: "Nova Administrator", 34 }, 35 } 36 37 th.CheckDeepEquals(t, expected, actual) 38 39 return true, nil 40 }) 41 42 th.AssertNoErr(t, err) 43 th.AssertEquals(t, 1, count) 44 } 45 46 func TestAddUser(t *testing.T) { 47 th.SetupHTTP() 48 defer th.TeardownHTTP() 49 50 MockAddUserRoleResponse(t) 51 52 err := roles.AddUser(context.TODO(), client.ServiceClient(), "{tenant_id}", "{user_id}", "{role_id}").ExtractErr() 53 54 th.AssertNoErr(t, err) 55 } 56 57 func TestDeleteUser(t *testing.T) { 58 th.SetupHTTP() 59 defer th.TeardownHTTP() 60 61 MockDeleteUserRoleResponse(t) 62 63 err := roles.DeleteUser(context.TODO(), client.ServiceClient(), "{tenant_id}", "{user_id}", "{role_id}").ExtractErr() 64 65 th.AssertNoErr(t, err) 66 }