github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/blockstorage/v2/backups_test.go (about) 1 //go:build acceptance || blockstorage || backups 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/openstack/blockstorage/v2/backups" 11 12 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 13 ) 14 15 func TestBackupsCRUD(t *testing.T) { 16 clients.SkipReleasesAbove(t, "stable/ocata") 17 18 blockClient, err := clients.NewBlockStorageV2Client() 19 th.AssertNoErr(t, err) 20 21 volume, err := CreateVolume(t, blockClient) 22 th.AssertNoErr(t, err) 23 defer DeleteVolume(t, blockClient, volume) 24 25 backup, err := CreateBackup(t, blockClient, volume.ID) 26 th.AssertNoErr(t, err) 27 defer DeleteBackup(t, blockClient, backup.ID) 28 29 allPages, err := backups.List(blockClient, nil).AllPages(context.TODO()) 30 th.AssertNoErr(t, err) 31 32 allBackups, err := backups.ExtractBackups(allPages) 33 th.AssertNoErr(t, err) 34 35 var found bool 36 for _, v := range allBackups { 37 if backup.Name == v.Name { 38 found = true 39 } 40 } 41 42 th.AssertEquals(t, found, true) 43 } 44 45 func TestBackupsResetStatus(t *testing.T) { 46 clients.SkipReleasesAbove(t, "stable/ocata") 47 48 blockClient, err := clients.NewBlockStorageV2Client() 49 th.AssertNoErr(t, err) 50 51 volume, err := CreateVolume(t, blockClient) 52 th.AssertNoErr(t, err) 53 defer DeleteVolume(t, blockClient, volume) 54 55 backup, err := CreateBackup(t, blockClient, volume.ID) 56 th.AssertNoErr(t, err) 57 defer DeleteBackup(t, blockClient, backup.ID) 58 59 err = ResetBackupStatus(t, blockClient, backup, "error") 60 th.AssertNoErr(t, err) 61 62 err = ResetBackupStatus(t, blockClient, backup, "available") 63 th.AssertNoErr(t, err) 64 } 65 66 func TestBackupsForceDelete(t *testing.T) { 67 clients.SkipReleasesAbove(t, "stable/ocata") 68 69 blockClient, err := clients.NewBlockStorageV2Client() 70 th.AssertNoErr(t, err) 71 72 volume, err := CreateVolume(t, blockClient) 73 th.AssertNoErr(t, err) 74 defer DeleteVolume(t, blockClient, volume) 75 76 backup, err := CreateBackup(t, blockClient, volume.ID) 77 th.AssertNoErr(t, err) 78 defer DeleteBackup(t, blockClient, backup.ID) 79 80 err = WaitForBackupStatus(blockClient, backup.ID, "available") 81 th.AssertNoErr(t, err) 82 83 err = backups.ForceDelete(context.TODO(), blockClient, backup.ID).ExtractErr() 84 th.AssertNoErr(t, err) 85 86 err = WaitForBackupStatus(blockClient, backup.ID, "deleted") 87 th.AssertNoErr(t, err) 88 }