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 }