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 }