github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/placement/v1/placement.go (about)

     1  package v1
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/vnpaycloud-console/gophercloud/v2"
     8  	"github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools"
     9  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/placement/v1/resourceproviders"
    10  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    11  )
    12  
    13  func CreateResourceProvider(t *testing.T, client *gophercloud.ServiceClient) (*resourceproviders.ResourceProvider, error) {
    14  	name := tools.RandomString("TESTACC-", 8)
    15  	t.Logf("Attempting to create resource provider: %s", name)
    16  
    17  	createOpts := resourceproviders.CreateOpts{
    18  		Name: name,
    19  	}
    20  
    21  	client.Microversion = "1.20"
    22  	resourceProvider, err := resourceproviders.Create(context.TODO(), client, createOpts).Extract()
    23  	if err != nil {
    24  		return resourceProvider, err
    25  	}
    26  
    27  	t.Logf("Successfully created resourceProvider: %s.", resourceProvider.Name)
    28  	tools.PrintResource(t, resourceProvider)
    29  
    30  	th.AssertEquals(t, resourceProvider.Name, name)
    31  
    32  	return resourceProvider, nil
    33  }
    34  
    35  func CreateResourceProviderWithParent(t *testing.T, client *gophercloud.ServiceClient, parentUUID string) (*resourceproviders.ResourceProvider, error) {
    36  	name := tools.RandomString("TESTACC-", 8)
    37  	t.Logf("Attempting to create resource provider: %s", name)
    38  
    39  	createOpts := resourceproviders.CreateOpts{
    40  		Name:               name,
    41  		ParentProviderUUID: parentUUID,
    42  	}
    43  
    44  	client.Microversion = "1.20"
    45  	resourceProvider, err := resourceproviders.Create(context.TODO(), client, createOpts).Extract()
    46  	if err != nil {
    47  		return resourceProvider, err
    48  	}
    49  
    50  	t.Logf("Successfully created resourceProvider: %s.", resourceProvider.Name)
    51  	tools.PrintResource(t, resourceProvider)
    52  
    53  	th.AssertEquals(t, resourceProvider.Name, name)
    54  	th.AssertEquals(t, resourceProvider.ParentProviderUUID, parentUUID)
    55  
    56  	return resourceProvider, nil
    57  }
    58  
    59  // DeleteResourceProvider will delete a resource provider with a specified ID.
    60  // A fatal error will occur if the delete was not successful. This works best when
    61  // used as a deferred function.
    62  func DeleteResourceProvider(t *testing.T, client *gophercloud.ServiceClient, resourceProviderID string) {
    63  	t.Logf("Attempting to delete resourceProvider: %s", resourceProviderID)
    64  
    65  	err := resourceproviders.Delete(context.TODO(), client, resourceProviderID).ExtractErr()
    66  	if err != nil {
    67  		t.Fatalf("Unable to delete resourceProvider %s: %v", resourceProviderID, err)
    68  	}
    69  
    70  	t.Logf("Deleted resourceProvider: %s.", resourceProviderID)
    71  }