func TestRole(t *testing.T) { th.SetupHTTP() defer th.TeardownHTTP() MockListRoleResponse(t) count := 0 err := List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) { count++ actual, err := os.ExtractRoles(page) if err != nil { t.Errorf("Failed to extract users: %v", err) return false, err } expected := []os.Role{ os.Role{ ID: "123", Name: "compute:admin", Description: "Nova Administrator", ServiceID: "cke5372ebabeeabb70a0e702a4626977x4406e5", }, } th.CheckDeepEquals(t, expected, actual) return true, nil }) th.AssertNoErr(t, err) th.AssertEquals(t, 1, count) }
func listRoles(t *testing.T, client *gophercloud.ServiceClient) string { var roleID string err := roles.List(client).EachPage(func(page pagination.Page) (bool, error) { roleList, err := os.ExtractRoles(page) th.AssertNoErr(t, err) for _, role := range roleList { t.Logf("Listing role: ID [%s] Name [%s]", role.ID, role.Name) roleID = role.ID } return true, nil }) th.AssertNoErr(t, err) return roleID }