github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/dns/zones_test.go (about) 1 package dns 2 3 import ( 4 "testing" 5 6 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients" 7 "github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools" 8 "github.com/opentelekomcloud/gophertelekomcloud/openstack/dns/v2/nameservers" 9 "github.com/opentelekomcloud/gophertelekomcloud/openstack/dns/v2/zones" 10 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 11 ) 12 13 func TestZonesList(t *testing.T) { 14 client, err := clients.NewDNSV2Client() 15 th.AssertNoErr(t, err) 16 17 listOpts := zones.ListOpts{} 18 pages, err := zones.List(client, listOpts).AllPages() 19 th.AssertNoErr(t, err) 20 21 allZones, err := zones.ExtractZones(pages) 22 th.AssertNoErr(t, err) 23 24 for _, zone := range allZones { 25 tools.PrintResource(t, zone) 26 } 27 } 28 29 func TestZonesCRUD(t *testing.T) { 30 client, err := clients.NewDNSV2Client() 31 th.AssertNoErr(t, err) 32 33 t.Logf("Attempting to create DNS public zone") 34 zoneName := tools.RandomString("public-zone", 3) 35 createOpts := zones.CreateOpts{ 36 Description: "interesting public zone", 37 Name: zoneName + ".com", 38 TTL: 300, 39 } 40 zone, err := zones.Create(client, createOpts).Extract() 41 th.AssertNoErr(t, err) 42 t.Logf("Created DNS public zone: %s", zone.ID) 43 44 n, err := nameservers.List(client, zone.ID).Extract() 45 th.AssertNoErr(t, err) 46 47 for _, nameserver := range n { 48 tools.PrintResource(t, nameserver) 49 } 50 51 defer func() { 52 t.Logf("Attempting to delete DNS public zone: %s", zone.ID) 53 _, err := zones.Delete(client, zone.ID).Extract() 54 th.AssertNoErr(t, err) 55 t.Logf("Deleted DNS public zone: %s", zone.ID) 56 }() 57 th.AssertEquals(t, createOpts.TTL, zone.TTL) 58 59 t.Logf("Attempting to update DNS public zone: %s", zone.ID) 60 updateOpts := zones.UpdateOpts{ 61 Email: "bla-bla@mail.com", 62 TTL: 400, 63 } 64 update, err := zones.Update(client, zone.ID, updateOpts).Extract() 65 th.AssertNoErr(t, err) 66 t.Logf("Updated DNS public zone") 67 th.AssertEquals(t, updateOpts.Email, update.Email) 68 th.AssertEquals(t, updateOpts.TTL, update.TTL) 69 }