github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/blockstorage/noauth/volumes_test.go (about) 1 //go:build acceptance || blockstorage || volumes 2 3 package noauth 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/blockstorage/v3/volumes" 12 ) 13 14 func TestVolumesList(t *testing.T) { 15 clients.RequireCinderNoAuth(t) 16 17 client, err := clients.NewBlockStorageV3NoAuthClient() 18 if err != nil { 19 t.Fatalf("Unable to create a blockstorage client: %v", err) 20 } 21 22 allPages, err := volumes.List(client, volumes.ListOpts{}).AllPages(context.TODO()) 23 if err != nil { 24 t.Fatalf("Unable to retrieve volumes: %v", err) 25 } 26 27 allVolumes, err := volumes.ExtractVolumes(allPages) 28 if err != nil { 29 t.Fatalf("Unable to extract volumes: %v", err) 30 } 31 32 for _, volume := range allVolumes { 33 tools.PrintResource(t, volume) 34 } 35 } 36 37 func TestVolumesCreateDestroy(t *testing.T) { 38 clients.RequireCinderNoAuth(t) 39 40 client, err := clients.NewBlockStorageV3NoAuthClient() 41 if err != nil { 42 t.Fatalf("Unable to create blockstorage client: %v", err) 43 } 44 45 volume, err := CreateVolume(t, client) 46 if err != nil { 47 t.Fatalf("Unable to create volume: %v", err) 48 } 49 defer DeleteVolume(t, client, volume) 50 51 newVolume, err := volumes.Get(context.TODO(), client, volume.ID).Extract() 52 if err != nil { 53 t.Errorf("Unable to retrieve volume: %v", err) 54 } 55 56 tools.PrintResource(t, newVolume) 57 }