github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/vpc/v1/eip_test.go (about)

     1  package v1
     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/networking/v1/eips"
     9  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    10  )
    11  
    12  func TestEIPListing(t *testing.T) {
    13  	client, err := clients.NewNetworkV1Client()
    14  	th.AssertNoErr(t, err)
    15  
    16  	eipName := tools.RandomString("eip-test-", 5)
    17  	eipCreateOpts := eips.ApplyOpts{
    18  		IP: eips.PublicIpOpts{
    19  			Type: "5_bgp",
    20  			Name: eipName,
    21  		},
    22  		Bandwidth: eips.BandwidthOpts{
    23  			ShareType: "PER",
    24  			Name:      tools.RandomString("acc-band-", 3),
    25  			Size:      100,
    26  		},
    27  	}
    28  	eip, err := eips.Apply(client, eipCreateOpts).Extract()
    29  	th.AssertNoErr(t, err)
    30  	t.Cleanup(func() {
    31  		err = eips.Delete(client, eip.ID).ExtractErr()
    32  		th.AssertNoErr(t, err)
    33  	})
    34  
    35  	cases := map[string]eips.ListOpts{
    36  		"ID": {
    37  			ID: eip.ID,
    38  		},
    39  		"PublicIP": {
    40  			PublicAddress: eip.PublicAddress,
    41  		},
    42  	}
    43  	for name, opts := range cases {
    44  		t.Run(name, func(t *testing.T) {
    45  			opts := opts
    46  			t.Parallel()
    47  
    48  			list, err := eips.List(client, opts)
    49  			th.AssertNoErr(t, err)
    50  			th.AssertEquals(t, 1, len(list))
    51  			th.AssertEquals(t, eip.ID, list[0].ID)
    52  		})
    53  	}
    54  }