github.com/leeclow-ops/gophercloud@v1.2.1/acceptance/openstack/networking/v2/extensions/fwaas_v2/groups_test.go (about)

     1  //go:build acceptance || networking || fwaas_v2
     2  // +build acceptance networking fwaas_v2
     3  
     4  package fwaas_v2
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/leeclow-ops/gophercloud/acceptance/clients"
    10  	"github.com/leeclow-ops/gophercloud/acceptance/tools"
    11  	"github.com/leeclow-ops/gophercloud/openstack/networking/v2/extensions/fwaas_v2/groups"
    12  	th "github.com/leeclow-ops/gophercloud/testhelper"
    13  )
    14  
    15  func TestGroupCRUD(t *testing.T) {
    16  	clients.SkipReleasesAbove(t, "stable/ussuri")
    17  
    18  	client, err := clients.NewNetworkV2Client()
    19  	th.AssertNoErr(t, err)
    20  
    21  	createdGroup, err := CreateGroup(t, client)
    22  	th.AssertNoErr(t, err)
    23  	defer DeleteGroup(t, client, createdGroup.ID)
    24  
    25  	tools.PrintResource(t, createdGroup)
    26  
    27  	groupName := tools.RandomString("TESTACC-", 8)
    28  	adminStateUp := false
    29  	description := ("Some firewall group description")
    30  	updateOpts := groups.UpdateOpts{
    31  		Name:         &groupName,
    32  		Description:  &description,
    33  		AdminStateUp: &adminStateUp,
    34  	}
    35  
    36  	groupUpdated, err := groups.Update(client, createdGroup.ID, updateOpts).Extract()
    37  	if err != nil {
    38  		t.Fatalf("Unable to update firewall group %s: %v", createdGroup.ID, err)
    39  	}
    40  
    41  	th.AssertNoErr(t, err)
    42  	th.AssertEquals(t, groupUpdated.Name, groupName)
    43  	th.AssertEquals(t, groupUpdated.Description, description)
    44  	th.AssertEquals(t, groupUpdated.AdminStateUp, adminStateUp)
    45  
    46  	t.Logf("Updated firewall group %s", groupUpdated.ID)
    47  
    48  	allPages, err := groups.List(client, nil).AllPages()
    49  	th.AssertNoErr(t, err)
    50  
    51  	allGroups, err := groups.ExtractGroups(allPages)
    52  	th.AssertNoErr(t, err)
    53  
    54  	t.Logf("Attempting to find firewall group %s\n", createdGroup.ID)
    55  	var found bool
    56  	for _, group := range allGroups {
    57  		if group.ID == createdGroup.ID {
    58  			found = true
    59  			t.Logf("Found firewall group %s\n", group.ID)
    60  		}
    61  	}
    62  
    63  	th.AssertEquals(t, found, true)
    64  }