github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/blockstorage/extensions/volumetenants_test.go (about) 1 //go:build acceptance || blockstorage 2 // +build acceptance blockstorage 3 4 package extensions 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 blockstorage "github.com/gophercloud/gophercloud/internal/acceptance/openstack/blockstorage/v3" 11 "github.com/gophercloud/gophercloud/openstack/blockstorage/extensions/volumetenants" 12 "github.com/gophercloud/gophercloud/openstack/blockstorage/v3/volumes" 13 th "github.com/gophercloud/gophercloud/testhelper" 14 ) 15 16 func TestVolumeTenants(t *testing.T) { 17 type volumeWithTenant struct { 18 volumes.Volume 19 volumetenants.VolumeTenantExt 20 } 21 22 var allVolumes []volumeWithTenant 23 24 client, err := clients.NewBlockStorageV3Client() 25 th.AssertNoErr(t, err) 26 27 listOpts := volumes.ListOpts{ 28 Name: "I SHOULD NOT EXIST", 29 } 30 allPages, err := volumes.List(client, listOpts).AllPages() 31 th.AssertNoErr(t, err) 32 33 err = volumes.ExtractVolumesInto(allPages, &allVolumes) 34 th.AssertNoErr(t, err) 35 th.AssertEquals(t, 0, len(allVolumes)) 36 37 volume1, err := blockstorage.CreateVolume(t, client) 38 th.AssertNoErr(t, err) 39 defer blockstorage.DeleteVolume(t, client, volume1) 40 41 allPages, err = volumes.List(client, nil).AllPages() 42 th.AssertNoErr(t, err) 43 44 err = volumes.ExtractVolumesInto(allPages, &allVolumes) 45 th.AssertNoErr(t, err) 46 th.AssertEquals(t, true, len(allVolumes) > 0) 47 }