github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/networking/v2/extensions/subnetpools/subnetpools.go (about) 1 package v2 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/networking/v2/extensions/subnetpools" 10 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 11 ) 12 13 // CreateSubnetPool will create a subnetpool. An error will be returned if the 14 // subnetpool could not be created. 15 func CreateSubnetPool(t *testing.T, client *gophercloud.ServiceClient) (*subnetpools.SubnetPool, error) { 16 subnetPoolName := tools.RandomString("TESTACC-", 8) 17 subnetPoolDescription := tools.RandomString("TESTACC-DESC-", 8) 18 subnetPoolPrefixes := []string{ 19 "10.0.0.0/8", 20 } 21 createOpts := subnetpools.CreateOpts{ 22 Name: subnetPoolName, 23 Description: subnetPoolDescription, 24 Prefixes: subnetPoolPrefixes, 25 DefaultPrefixLen: 24, 26 } 27 28 t.Logf("Attempting to create a subnetpool: %s", subnetPoolName) 29 30 subnetPool, err := subnetpools.Create(context.TODO(), client, createOpts).Extract() 31 if err != nil { 32 return nil, err 33 } 34 35 t.Logf("Successfully created the subnetpool.") 36 37 th.AssertEquals(t, subnetPool.Name, subnetPoolName) 38 th.AssertEquals(t, subnetPool.Description, subnetPoolDescription) 39 40 return subnetPool, nil 41 } 42 43 // DeleteSubnetPool will delete a subnetpool with a specified ID. 44 // A fatal error will occur if the delete was not successful. 45 func DeleteSubnetPool(t *testing.T, client *gophercloud.ServiceClient, subnetPoolID string) { 46 t.Logf("Attempting to delete the subnetpool: %s", subnetPoolID) 47 48 err := subnetpools.Delete(context.TODO(), client, subnetPoolID).ExtractErr() 49 if err != nil { 50 t.Fatalf("Unable to delete subnetpool %s: %v", subnetPoolID, err) 51 } 52 53 t.Logf("Deleted subnetpool: %s", subnetPoolID) 54 }