1// +build acceptance networking layer3 addressscopes 2 3package layer3 4 5import ( 6 "testing" 7 8 "github.com/gophercloud/gophercloud/acceptance/clients" 9 "github.com/gophercloud/gophercloud/acceptance/tools" 10 "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/addressscopes" 11 th "github.com/gophercloud/gophercloud/testhelper" 12) 13 14func TestAddressScopesCRUD(t *testing.T) { 15 client, err := clients.NewNetworkV2Client() 16 th.AssertNoErr(t, err) 17 18 // Create an address-scope 19 addressScope, err := CreateAddressScope(t, client) 20 th.AssertNoErr(t, err) 21 defer DeleteAddressScope(t, client, addressScope.ID) 22 23 tools.PrintResource(t, addressScope) 24 25 newName := tools.RandomString("TESTACC-", 8) 26 updateOpts := &addressscopes.UpdateOpts{ 27 Name: &newName, 28 } 29 30 _, err = addressscopes.Update(client, addressScope.ID, updateOpts).Extract() 31 th.AssertNoErr(t, err) 32 33 newAddressScope, err := addressscopes.Get(client, addressScope.ID).Extract() 34 th.AssertNoErr(t, err) 35 36 tools.PrintResource(t, newAddressScope) 37 th.AssertEquals(t, newAddressScope.Name, newName) 38 39 allPages, err := addressscopes.List(client, nil).AllPages() 40 th.AssertNoErr(t, err) 41 42 allAddressScopes, err := addressscopes.ExtractAddressScopes(allPages) 43 th.AssertNoErr(t, err) 44 45 var found bool 46 for _, addressScope := range allAddressScopes { 47 if addressScope.ID == newAddressScope.ID { 48 found = true 49 } 50 } 51 52 th.AssertEquals(t, found, true) 53} 54