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