github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/sdrs/v1/helpers.go (about) 1 package v1 2 3 import ( 4 "testing" 5 6 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 8 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/sdrs/v1/protectiongroups" 10 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 11 ) 12 13 func createSDRSGroup(t *testing.T, client *golangsdk.ServiceClient, domainID string) *protectiongroups.Group { 14 t.Logf("Attempting to create SDRS protection group") 15 16 vpcID := clients.EnvOS.GetEnv("VPC_ID") 17 if vpcID == "" { 18 t.Skip("OS_VPC_ID env var is missing but SDRS group test requires") 19 } 20 21 createOpts := protectiongroups.CreateOpts{ 22 Name: tools.RandomString("sdrs-group-", 3), 23 Description: "some interesting description", 24 SourceAZ: "eu-de-02", 25 TargetAZ: "eu-de-01", 26 DomainID: domainID, 27 SourceVpcID: vpcID, 28 } 29 30 job, err := protectiongroups.Create(client, createOpts).ExtractJobResponse() 31 th.AssertNoErr(t, err) 32 33 t.Logf("Waiting for SDRS group job %s", job) 34 err = protectiongroups.WaitForJobSuccess(client, 600, job.JobID) 35 th.AssertNoErr(t, err) 36 37 jobEntity, err := protectiongroups.GetJobEntity(client, job.JobID, "server_group_id") 38 th.AssertNoErr(t, err) 39 40 group, err := protectiongroups.Get(client, jobEntity.(string)).Extract() 41 th.AssertNoErr(t, err) 42 43 t.Logf("Created SDRS protection group: %s", group.Id) 44 45 return group 46 } 47 48 func deleteSDRSGroup(t *testing.T, client *golangsdk.ServiceClient, groupID string) { 49 t.Logf("Attempting to delete SDRS protection group: %s", groupID) 50 51 job, err := protectiongroups.Delete(client, groupID).ExtractJobResponse() 52 th.AssertNoErr(t, err) 53 54 err = protectiongroups.WaitForJobSuccess(client, 600, job.JobID) 55 th.AssertNoErr(t, err) 56 57 t.Logf("Deleted SDRS protection group: %s", groupID) 58 }