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  }