github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/blockstorage/v2/snapshots_test.go (about) 1 //go:build acceptance || blockstorage 2 // +build acceptance blockstorage 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/blockstorage/v2/snapshots" 12 th "github.com/gophercloud/gophercloud/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(client, snapshot.ID).Extract() 31 th.AssertNoErr(t, err) 32 33 allPages, err := snapshots.List(client, snapshots.ListOpts{}).AllPages() 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 }