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  }