github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/identity/v2/user_test.go (about) 1 //go:build acceptance || identity || users 2 3 package v2 4 5 import ( 6 "context" 7 "testing" 8 9 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/clients" 10 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools" 11 "github.com/vnpaycloud-console/gophercloud/v2/openstack/identity/v2/users" 12 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 13 ) 14 15 func TestUsersList(t *testing.T) { 16 clients.RequireIdentityV2(t) 17 clients.RequireAdmin(t) 18 19 client, err := clients.NewIdentityV2AdminClient() 20 th.AssertNoErr(t, err) 21 22 allPages, err := users.List(client).AllPages(context.TODO()) 23 th.AssertNoErr(t, err) 24 25 allUsers, err := users.ExtractUsers(allPages) 26 th.AssertNoErr(t, err) 27 28 var found bool 29 for _, user := range allUsers { 30 tools.PrintResource(t, user) 31 32 if user.Name == "admin" { 33 found = true 34 } 35 } 36 37 th.AssertEquals(t, found, true) 38 } 39 40 func TestUsersCreateUpdateDelete(t *testing.T) { 41 clients.RequireIdentityV2(t) 42 clients.RequireAdmin(t) 43 44 client, err := clients.NewIdentityV2AdminClient() 45 th.AssertNoErr(t, err) 46 47 tenant, err := FindTenant(t, client) 48 th.AssertNoErr(t, err) 49 50 user, err := CreateUser(t, client, tenant) 51 th.AssertNoErr(t, err) 52 defer DeleteUser(t, client, user) 53 54 tools.PrintResource(t, user) 55 56 newUser, err := UpdateUser(t, client, user) 57 th.AssertNoErr(t, err) 58 59 tools.PrintResource(t, newUser) 60 }