github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/vbs/v2/backups_test.go (about) 1 package v2 2 3 import ( 4 "testing" 5 6 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/openstack" 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/vbs/v2/backups" 10 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 11 ) 12 13 func TestVBSV2BackupLifecycle(t *testing.T) { 14 client, err := clients.NewVbsV2Client() 15 th.AssertNoErr(t, err) 16 17 volume := openstack.CreateVolume(t) 18 defer func() { 19 openstack.DeleteVolume(t, volume.ID) 20 }() 21 22 opts := backups.CreateOpts{ 23 VolumeId: volume.ID, 24 Name: tools.RandomString("vbs-instance-", 6), 25 Description: tools.RandomString("Here: ", 20), 26 } 27 job, err := backups.Create(client, opts).ExtractJobResponse() 28 th.AssertNoErr(t, err) 29 30 if err := backups.WaitForJobSuccess(client, 600, job.JobID); err != nil { 31 t.Fatalf("error waiting for backup to be created: %s", err) 32 } 33 t.Log("backup successfully created") 34 35 v, err := backups.GetJobEntity(client, job.JobID, "backup_id") 36 th.AssertNoErr(t, err) 37 backupID := v.(string) 38 39 defer func() { 40 err = backups.Delete(client, backupID).ExtractErr() 41 th.AssertNoErr(t, err) 42 t.Log("backup successfully deleted") 43 }() 44 45 backupDetails, err := backups.Get(client, backupID).Extract() 46 th.AssertNoErr(t, err) 47 th.AssertEquals(t, opts.Description, backupDetails.Description) 48 th.AssertEquals(t, opts.Name, backupDetails.Name) 49 }