github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/sharedfilesystems/v2/sharenetworks.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/clients" 9 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools" 10 "github.com/vnpaycloud-console/gophercloud/v2/openstack/sharedfilesystems/v2/sharenetworks" 11 ) 12 13 // CreateShareNetwork will create a share network with a random name. An 14 // error will be returned if the share network was unable to be created. 15 func CreateShareNetwork(t *testing.T, client *gophercloud.ServiceClient) (*sharenetworks.ShareNetwork, error) { 16 if testing.Short() { 17 t.Skip("Skipping test that requires share network creation in short mode.") 18 } 19 20 choices, err := clients.AcceptanceTestChoicesFromEnv() 21 if err != nil { 22 return nil, err 23 } 24 25 shareNetworkName := tools.RandomString("ACPTTEST", 16) 26 t.Logf("Attempting to create share network: %s", shareNetworkName) 27 28 createOpts := sharenetworks.CreateOpts{ 29 Name: shareNetworkName, 30 NeutronNetID: choices.NetworkID, 31 NeutronSubnetID: choices.SubnetID, 32 Description: "This is a shared network", 33 } 34 35 shareNetwork, err := sharenetworks.Create(context.TODO(), client, createOpts).Extract() 36 if err != nil { 37 return shareNetwork, err 38 } 39 40 return shareNetwork, nil 41 } 42 43 // DeleteShareNetwork will delete a share network. An error will occur if 44 // the share network was unable to be deleted. 45 func DeleteShareNetwork(t *testing.T, client *gophercloud.ServiceClient, shareNetworkID string) { 46 err := sharenetworks.Delete(context.TODO(), client, shareNetworkID).ExtractErr() 47 if err != nil { 48 t.Fatalf("Failed to delete share network %s: %v", shareNetworkID, err) 49 } 50 51 t.Logf("Deleted share network: %s", shareNetworkID) 52 }