github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/networking/v2/extensions/lbaas/members_test.go (about)

     1  //go:build acceptance || networking || lbaas || member
     2  // +build acceptance networking lbaas member
     3  
     4  package lbaas
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/gophercloud/gophercloud"
    10  	"github.com/gophercloud/gophercloud/internal/acceptance/clients"
    11  	networking "github.com/gophercloud/gophercloud/internal/acceptance/openstack/networking/v2"
    12  	"github.com/gophercloud/gophercloud/internal/acceptance/tools"
    13  	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/members"
    14  )
    15  
    16  func TestMembersList(t *testing.T) {
    17  	t.Skip("Neutron LBaaS was replaced by Octavia and the API will be removed in a future release")
    18  	client, err := clients.NewNetworkV2Client()
    19  	if err != nil {
    20  		t.Fatalf("Unable to create a network client: %v", err)
    21  	}
    22  
    23  	allPages, err := members.List(client, members.ListOpts{}).AllPages()
    24  	if err != nil {
    25  		t.Fatalf("Unable to list members: %v", err)
    26  	}
    27  
    28  	allMembers, err := members.ExtractMembers(allPages)
    29  	if err != nil {
    30  		t.Fatalf("Unable to extract members: %v", err)
    31  	}
    32  
    33  	for _, member := range allMembers {
    34  		tools.PrintResource(t, member)
    35  	}
    36  }
    37  
    38  func TestMembersCRUD(t *testing.T) {
    39  	t.Skip("Neutron LBaaS was replaced by Octavia and the API will be removed in a future release")
    40  	client, err := clients.NewNetworkV2Client()
    41  	if err != nil {
    42  		t.Fatalf("Unable to create a network client: %v", err)
    43  	}
    44  
    45  	network, err := networking.CreateNetwork(t, client)
    46  	if err != nil {
    47  		t.Fatalf("Unable to create network: %v", err)
    48  	}
    49  	defer networking.DeleteNetwork(t, client, network.ID)
    50  
    51  	subnet, err := networking.CreateSubnet(t, client, network.ID)
    52  	if err != nil {
    53  		t.Fatalf("Unable to create subnet: %v", err)
    54  	}
    55  	defer networking.DeleteSubnet(t, client, subnet.ID)
    56  
    57  	pool, err := CreatePool(t, client, subnet.ID)
    58  	if err != nil {
    59  		t.Fatalf("Unable to create pool: %v", err)
    60  	}
    61  	defer DeletePool(t, client, pool.ID)
    62  
    63  	member, err := CreateMember(t, client, pool.ID)
    64  	if err != nil {
    65  		t.Fatalf("Unable to create member: %v", err)
    66  	}
    67  	defer DeleteMember(t, client, member.ID)
    68  
    69  	tools.PrintResource(t, member)
    70  
    71  	updateOpts := members.UpdateOpts{
    72  		AdminStateUp: gophercloud.Enabled,
    73  	}
    74  
    75  	_, err = members.Update(client, member.ID, updateOpts).Extract()
    76  	if err != nil {
    77  		t.Fatalf("Unable to update member: %v", err)
    78  	}
    79  
    80  	newMember, err := members.Get(client, member.ID).Extract()
    81  	if err != nil {
    82  		t.Fatalf("Unable to get member: %v", err)
    83  	}
    84  
    85  	tools.PrintResource(t, newMember)
    86  }