github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/networking/v2/extensions/bgp/speakers/speakers.go (about)

     1  package speakers
     2  
     3  import (
     4  	"context"
     5  	"strconv"
     6  	"testing"
     7  
     8  	"github.com/vnpaycloud-console/gophercloud/v2"
     9  	"github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools"
    10  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/networking/v2/extensions/bgp/speakers"
    11  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    12  )
    13  
    14  func CreateBGPSpeaker(t *testing.T, client *gophercloud.ServiceClient) (*speakers.BGPSpeaker, error) {
    15  	opts := speakers.CreateOpts{
    16  		IPVersion:                     4,
    17  		AdvertiseFloatingIPHostRoutes: false,
    18  		AdvertiseTenantNetworks:       true,
    19  		Name:                          tools.RandomString("TESTACC-BGPSPEAKER-", 8),
    20  		LocalAS:                       "3000",
    21  		Networks:                      []string{},
    22  	}
    23  
    24  	t.Logf("Attempting to create BGP Speaker: %s", opts.Name)
    25  	bgpSpeaker, err := speakers.Create(context.TODO(), client, opts).Extract()
    26  	if err != nil {
    27  		return bgpSpeaker, err
    28  	}
    29  
    30  	localas, err := strconv.Atoi(opts.LocalAS)
    31  	th.AssertEquals(t, bgpSpeaker.Name, opts.Name)
    32  	th.AssertEquals(t, bgpSpeaker.LocalAS, localas)
    33  	th.AssertEquals(t, bgpSpeaker.IPVersion, opts.IPVersion)
    34  	th.AssertEquals(t, bgpSpeaker.AdvertiseTenantNetworks, opts.AdvertiseTenantNetworks)
    35  	th.AssertEquals(t, bgpSpeaker.AdvertiseFloatingIPHostRoutes, opts.AdvertiseFloatingIPHostRoutes)
    36  	t.Logf("Successfully created BGP Speaker")
    37  	tools.PrintResource(t, bgpSpeaker)
    38  	return bgpSpeaker, err
    39  }