github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/identity/v2/tenant_test.go (about) 1 //go:build acceptance || identity 2 // +build acceptance identity 3 4 package v2 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestTenantsList(t *testing.T) { 16 clients.RequireIdentityV2(t) 17 clients.RequireAdmin(t) 18 19 client, err := clients.NewIdentityV2Client() 20 th.AssertNoErr(t, err) 21 22 allPages, err := tenants.List(client, nil).AllPages() 23 th.AssertNoErr(t, err) 24 25 allTenants, err := tenants.ExtractTenants(allPages) 26 th.AssertNoErr(t, err) 27 28 var found bool 29 for _, tenant := range allTenants { 30 tools.PrintResource(t, tenant) 31 32 if tenant.Name == "admin" { 33 found = true 34 } 35 } 36 37 th.AssertEquals(t, found, true) 38 } 39 40 func TestTenantsCRUD(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 := CreateTenant(t, client, nil) 48 th.AssertNoErr(t, err) 49 defer DeleteTenant(t, client, tenant.ID) 50 51 tenant, err = tenants.Get(client, tenant.ID).Extract() 52 th.AssertNoErr(t, err) 53 54 tools.PrintResource(t, tenant) 55 56 description := "" 57 updateOpts := tenants.UpdateOpts{ 58 Description: &description, 59 } 60 61 newTenant, err := tenants.Update(client, tenant.ID, updateOpts).Extract() 62 th.AssertNoErr(t, err) 63 64 tools.PrintResource(t, newTenant) 65 66 th.AssertEquals(t, newTenant.Description, description) 67 }