github.com/huaweicloud/golangsdk@v0.0.0-20210831081626-d823fe11ceba/openstack/dns/v2/zones/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "testing" 5 6 "github.com/huaweicloud/golangsdk/openstack/dns/v2/zones" 7 "github.com/huaweicloud/golangsdk/pagination" 8 th "github.com/huaweicloud/golangsdk/testhelper" 9 "github.com/huaweicloud/golangsdk/testhelper/client" 10 ) 11 12 func TestList(t *testing.T) { 13 th.SetupHTTP() 14 defer th.TeardownHTTP() 15 HandleListSuccessfully(t) 16 17 count := 0 18 err := zones.List(client.ServiceClient(), nil).EachPage(func(page pagination.Page) (bool, error) { 19 count++ 20 actual, err := zones.ExtractZones(page) 21 th.AssertNoErr(t, err) 22 th.CheckDeepEquals(t, ExpectedZonesSlice, actual) 23 24 return true, nil 25 }) 26 th.AssertNoErr(t, err) 27 th.CheckEquals(t, 1, count) 28 } 29 30 func TestListAllPages(t *testing.T) { 31 th.SetupHTTP() 32 defer th.TeardownHTTP() 33 HandleListSuccessfully(t) 34 35 allPages, err := zones.List(client.ServiceClient(), nil).AllPages() 36 th.AssertNoErr(t, err) 37 allZones, err := zones.ExtractZones(allPages) 38 th.AssertNoErr(t, err) 39 th.CheckEquals(t, 2, len(allZones)) 40 } 41 42 func TestGet(t *testing.T) { 43 th.SetupHTTP() 44 defer th.TeardownHTTP() 45 HandleGetSuccessfully(t) 46 47 actual, err := zones.Get(client.ServiceClient(), "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3").Extract() 48 th.AssertNoErr(t, err) 49 th.CheckDeepEquals(t, &FirstZone, actual) 50 } 51 52 func TestCreate(t *testing.T) { 53 th.SetupHTTP() 54 defer th.TeardownHTTP() 55 HandleCreateSuccessfully(t) 56 57 createOpts := zones.CreateOpts{ 58 Name: "example.org.", 59 Email: "joe@example.org", 60 Type: "PRIMARY", 61 TTL: 7200, 62 Description: "This is an example zone.", 63 } 64 65 actual, err := zones.Create(client.ServiceClient(), createOpts).Extract() 66 th.AssertNoErr(t, err) 67 th.CheckDeepEquals(t, &CreatedZone, actual) 68 } 69 70 func TestUpdate(t *testing.T) { 71 th.SetupHTTP() 72 defer th.TeardownHTTP() 73 HandleUpdateSuccessfully(t) 74 75 updateOpts := zones.UpdateOpts{ 76 TTL: 600, 77 Description: "Updated Description", 78 } 79 80 UpdatedZone := CreatedZone 81 UpdatedZone.Status = "PENDING" 82 UpdatedZone.Action = "UPDATE" 83 UpdatedZone.TTL = 600 84 UpdatedZone.Description = "Updated Description" 85 86 actual, err := zones.Update(client.ServiceClient(), UpdatedZone.ID, updateOpts).Extract() 87 th.AssertNoErr(t, err) 88 th.CheckDeepEquals(t, &UpdatedZone, actual) 89 } 90 91 func TestDelete(t *testing.T) { 92 th.SetupHTTP() 93 defer th.TeardownHTTP() 94 HandleDeleteSuccessfully(t) 95 96 DeletedZone := CreatedZone 97 DeletedZone.Status = "PENDING" 98 DeletedZone.Action = "DELETE" 99 DeletedZone.TTL = 600 100 DeletedZone.Description = "Updated Description" 101 102 actual, err := zones.Delete(client.ServiceClient(), DeletedZone.ID).Extract() 103 th.AssertNoErr(t, err) 104 th.CheckDeepEquals(t, &DeletedZone, actual) 105 }