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 }