github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/placement/v1/placement.go (about)

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