github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/networking/v2/extensions/bgp/peers/bgppeers_test.go (about)

     1  package peers
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gophercloud/gophercloud/internal/acceptance/clients"
     7  	"github.com/gophercloud/gophercloud/internal/acceptance/tools"
     8  	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/bgp/peers"
     9  	th "github.com/gophercloud/gophercloud/testhelper"
    10  )
    11  
    12  func TestBGPPeerCRUD(t *testing.T) {
    13  	clients.RequireAdmin(t)
    14  
    15  	client, err := clients.NewNetworkV2Client()
    16  	th.AssertNoErr(t, err)
    17  
    18  	// Create a BGP Peer
    19  	bgpPeerCreated, err := CreateBGPPeer(t, client)
    20  	th.AssertNoErr(t, err)
    21  
    22  	// Get a BGP Peer
    23  	bgpPeerGot, err := peers.Get(client, bgpPeerCreated.ID).Extract()
    24  	th.AssertNoErr(t, err)
    25  	th.AssertEquals(t, bgpPeerCreated.ID, bgpPeerGot.ID)
    26  	th.AssertEquals(t, bgpPeerCreated.Name, bgpPeerGot.Name)
    27  
    28  	// Update a BGP Peer
    29  	newBGPPeerName := tools.RandomString("TESTACC-BGPPEER-", 10)
    30  	updateBGPOpts := peers.UpdateOpts{
    31  		Name:     newBGPPeerName,
    32  		Password: tools.MakeNewPassword(""),
    33  	}
    34  	bgpPeerUpdated, err := peers.Update(client, bgpPeerGot.ID, updateBGPOpts).Extract()
    35  	th.AssertNoErr(t, err)
    36  	th.AssertEquals(t, bgpPeerUpdated.Name, newBGPPeerName)
    37  	t.Logf("Update BGP Peer, renamed from %s to %s", bgpPeerGot.Name, bgpPeerUpdated.Name)
    38  
    39  	// List all BGP Peers
    40  	allPages, err := peers.List(client).AllPages()
    41  	th.AssertNoErr(t, err)
    42  	allPeers, err := peers.ExtractBGPPeers(allPages)
    43  	th.AssertNoErr(t, err)
    44  
    45  	t.Logf("Retrieved BGP Peers")
    46  	tools.PrintResource(t, allPeers)
    47  	th.AssertIntGreaterOrEqual(t, len(allPeers), 1)
    48  
    49  	// Delete a BGP Peer
    50  	t.Logf("Attempting to delete BGP Peer: %s", bgpPeerUpdated.Name)
    51  	err = peers.Delete(client, bgpPeerGot.ID).ExtractErr()
    52  	th.AssertNoErr(t, err)
    53  
    54  	bgpPeerGot, err = peers.Get(client, bgpPeerGot.ID).Extract()
    55  	th.AssertErr(t, err)
    56  	t.Logf("BGP Peer %s deleted", bgpPeerUpdated.Name)
    57  }