github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/dns/v2/zones_test.go (about) 1 //go:build acceptance || dns || zones 2 // +build acceptance dns zones 3 4 package v2 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/dns/v2/zones" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestZonesCRUD(t *testing.T) { 16 client, err := clients.NewDNSV2Client() 17 th.AssertNoErr(t, err) 18 19 zone, err := CreateZone(t, client) 20 th.AssertNoErr(t, err) 21 defer DeleteZone(t, client, zone) 22 23 tools.PrintResource(t, &zone) 24 25 allPages, err := zones.List(client, nil).AllPages() 26 th.AssertNoErr(t, err) 27 28 allZones, err := zones.ExtractZones(allPages) 29 th.AssertNoErr(t, err) 30 31 var found bool 32 for _, z := range allZones { 33 tools.PrintResource(t, &z) 34 35 if zone.Name == z.Name { 36 found = true 37 } 38 } 39 40 th.AssertEquals(t, found, true) 41 42 description := "" 43 updateOpts := zones.UpdateOpts{ 44 Description: &description, 45 TTL: 0, 46 } 47 48 newZone, err := zones.Update(client, zone.ID, updateOpts).Extract() 49 th.AssertNoErr(t, err) 50 51 tools.PrintResource(t, &newZone) 52 53 th.AssertEquals(t, newZone.Description, description) 54 }