github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/networking/v1/eips_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/common/tags"
     9  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/networking/v1/eips"
    10  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    11  )
    12  
    13  func TestEipList(t *testing.T) {
    14  	client, err := clients.NewNetworkV1Client()
    15  	th.AssertNoErr(t, err)
    16  
    17  	elasticIP := CreateEip(t, client, 100)
    18  	listOpts := eips.ListOpts{
    19  		BandwidthID: elasticIP.BandwidthID,
    20  	}
    21  	t.Cleanup(func() {
    22  		DeleteEip(t, client, elasticIP.ID)
    23  
    24  		elasticIPs, err := eips.List(client, listOpts)
    25  		th.AssertNoErr(t, err)
    26  		th.AssertEquals(t, 0, len(elasticIPs))
    27  	})
    28  
    29  	elasticIPs, err := eips.List(client, listOpts)
    30  	th.AssertNoErr(t, err)
    31  	th.AssertEquals(t, 1, len(elasticIPs))
    32  	th.AssertEquals(t, elasticIP.ID, elasticIPs[0].ID)
    33  	th.AssertEquals(t, elasticIP.PublicAddress, elasticIPs[0].PublicAddress)
    34  }
    35  
    36  func TestEipLifecycle(t *testing.T) {
    37  	client, err := clients.NewNetworkV1Client()
    38  	th.AssertNoErr(t, err)
    39  
    40  	eip := CreateEip(t, client, 100)
    41  	t.Cleanup(func() { DeleteEip(t, client, eip.ID) })
    42  
    43  	tools.PrintResource(t, eip)
    44  }
    45  
    46  func TestEipTagsLifecycle(t *testing.T) {
    47  	client, err := clients.NewNetworkV1Client()
    48  	th.AssertNoErr(t, err)
    49  
    50  	eip := CreateEip(t, client, 100)
    51  	t.Cleanup(func() { DeleteEip(t, client, eip.ID) })
    52  
    53  	networkV2Client, err := clients.NewNetworkV2Client()
    54  	th.AssertNoErr(t, err)
    55  
    56  	eipTags := []tags.ResourceTag{
    57  		{
    58  			Key:   "muh",
    59  			Value: "lala",
    60  		},
    61  		{
    62  			Key:   "kuh",
    63  			Value: "lala",
    64  		},
    65  		{
    66  			Key:   "luh",
    67  			Value: "lala",
    68  		},
    69  	}
    70  	createEipTags(t, networkV2Client, eip.ID, eipTags)
    71  	t.Cleanup(func() { deleteEipTags(t, networkV2Client, eip.ID, eipTags) })
    72  
    73  	newTags, err := tags.Get(networkV2Client, "publicips", eip.ID).Extract()
    74  	th.AssertNoErr(t, err)
    75  
    76  	t.Logf("Assert of length between `createOptsTags` and `tags.Get()`")
    77  	th.AssertEquals(t, len(eipTags), len(newTags))
    78  }