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  }