github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/elb/v3/pools_test.go (about)

     1  package v3
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
     7  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
     8  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/common/pointerto"
     9  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/elb/v3/pools"
    10  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    11  )
    12  
    13  func TestPoolList(t *testing.T) {
    14  	client, err := clients.NewElbV3Client()
    15  	th.AssertNoErr(t, err)
    16  
    17  	listOpts := pools.ListOpts{}
    18  	poolPages, err := pools.List(client, listOpts).AllPages()
    19  	th.AssertNoErr(t, err)
    20  
    21  	poolList, err := pools.ExtractPools(poolPages)
    22  	th.AssertNoErr(t, err)
    23  
    24  	for _, pool := range poolList {
    25  		tools.PrintResource(t, pool)
    26  	}
    27  }
    28  
    29  func TestPoolLifecycle(t *testing.T) {
    30  	client, err := clients.NewElbV3Client()
    31  	th.AssertNoErr(t, err)
    32  
    33  	loadbalancerID := createLoadBalancer(t, client)
    34  	defer deleteLoadbalancer(t, client, loadbalancerID)
    35  
    36  	poolID := createPool(t, client, loadbalancerID)
    37  	defer deletePool(t, client, poolID)
    38  
    39  	t.Logf("Attempting to update ELBv3 Pool: %s", poolID)
    40  	poolName := tools.RandomString("update-pool-", 3)
    41  	emptyDescription := ""
    42  	updateOpts := pools.UpdateOpts{
    43  		Name:                     &poolName,
    44  		Description:              &emptyDescription,
    45  		LBMethod:                 "ROUND_ROBIN",
    46  		DeletionProtectionEnable: pointerto.Bool(false),
    47  	}
    48  	_, err = pools.Update(client, poolID, updateOpts).Extract()
    49  	th.AssertNoErr(t, err)
    50  	t.Logf("Updated ELBv3 Pool: %s", poolID)
    51  
    52  	newPool, err := pools.Get(client, poolID).Extract()
    53  	th.AssertNoErr(t, err)
    54  	th.AssertEquals(t, *updateOpts.Name, newPool.Name)
    55  	th.AssertEquals(t, emptyDescription, newPool.Description)
    56  	th.AssertEquals(t, updateOpts.LBMethod, newPool.LBMethod)
    57  	th.AssertEquals(t, false, newPool.DeletionProtectionEnable)
    58  }