github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/blockstorage/v2/snapshots_test.go (about) 1 //go:build acceptance || blockstorage || snapshots 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/blockstorage/v2/snapshots" 12 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 13 ) 14 15 func TestSnapshots(t *testing.T) { 16 clients.SkipReleasesAbove(t, "stable/ocata") 17 clients.RequireLong(t) 18 19 client, err := clients.NewBlockStorageV2Client() 20 th.AssertNoErr(t, err) 21 22 volume, err := CreateVolume(t, client) 23 th.AssertNoErr(t, err) 24 defer DeleteVolume(t, client, volume) 25 26 snapshot, err := CreateSnapshot(t, client, volume) 27 th.AssertNoErr(t, err) 28 defer DeleteSnapshot(t, client, snapshot) 29 30 newSnapshot, err := snapshots.Get(context.TODO(), client, snapshot.ID).Extract() 31 th.AssertNoErr(t, err) 32 33 allPages, err := snapshots.List(client, snapshots.ListOpts{}).AllPages(context.TODO()) 34 th.AssertNoErr(t, err) 35 36 allSnapshots, err := snapshots.ExtractSnapshots(allPages) 37 th.AssertNoErr(t, err) 38 39 var found bool 40 for _, v := range allSnapshots { 41 tools.PrintResource(t, snapshot) 42 if v.ID == newSnapshot.ID { 43 found = true 44 } 45 } 46 47 th.AssertEquals(t, found, true) 48 }