github.com/gophercloud/gophercloud@v1.11.0/openstack/identity/v3/domains/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "testing" 5 6 "github.com/gophercloud/gophercloud/openstack/identity/v3/domains" 7 "github.com/gophercloud/gophercloud/pagination" 8 th "github.com/gophercloud/gophercloud/testhelper" 9 "github.com/gophercloud/gophercloud/testhelper/client" 10 ) 11 12 func TestListAvailableDomains(t *testing.T) { 13 th.SetupHTTP() 14 defer th.TeardownHTTP() 15 HandleListAvailableDomainsSuccessfully(t) 16 17 count := 0 18 err := domains.ListAvailable(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) { 19 count++ 20 21 actual, err := domains.ExtractDomains(page) 22 th.AssertNoErr(t, err) 23 24 th.CheckDeepEquals(t, ExpectedAvailableDomainsSlice, actual) 25 26 return true, nil 27 }) 28 th.AssertNoErr(t, err) 29 th.CheckEquals(t, count, 1) 30 } 31 32 func TestListDomains(t *testing.T) { 33 th.SetupHTTP() 34 defer th.TeardownHTTP() 35 HandleListDomainsSuccessfully(t) 36 37 count := 0 38 err := domains.List(client.ServiceClient(), nil).EachPage(func(page pagination.Page) (bool, error) { 39 count++ 40 41 actual, err := domains.ExtractDomains(page) 42 th.AssertNoErr(t, err) 43 44 th.CheckDeepEquals(t, ExpectedDomainsSlice, actual) 45 46 return true, nil 47 }) 48 th.AssertNoErr(t, err) 49 th.CheckEquals(t, count, 1) 50 } 51 52 func TestListDomainsAllPages(t *testing.T) { 53 th.SetupHTTP() 54 defer th.TeardownHTTP() 55 HandleListDomainsSuccessfully(t) 56 57 allPages, err := domains.List(client.ServiceClient(), nil).AllPages() 58 th.AssertNoErr(t, err) 59 actual, err := domains.ExtractDomains(allPages) 60 th.AssertNoErr(t, err) 61 th.CheckDeepEquals(t, ExpectedDomainsSlice, actual) 62 } 63 64 func TestGetDomain(t *testing.T) { 65 th.SetupHTTP() 66 defer th.TeardownHTTP() 67 HandleGetDomainSuccessfully(t) 68 69 actual, err := domains.Get(client.ServiceClient(), "9fe1d3").Extract() 70 th.AssertNoErr(t, err) 71 th.CheckDeepEquals(t, SecondDomain, *actual) 72 } 73 74 func TestCreateDomain(t *testing.T) { 75 th.SetupHTTP() 76 defer th.TeardownHTTP() 77 HandleCreateDomainSuccessfully(t) 78 79 createOpts := domains.CreateOpts{ 80 Name: "domain two", 81 } 82 83 actual, err := domains.Create(client.ServiceClient(), createOpts).Extract() 84 th.AssertNoErr(t, err) 85 th.CheckDeepEquals(t, SecondDomain, *actual) 86 } 87 88 func TestDeleteDomain(t *testing.T) { 89 th.SetupHTTP() 90 defer th.TeardownHTTP() 91 HandleDeleteDomainSuccessfully(t) 92 93 res := domains.Delete(client.ServiceClient(), "9fe1d3") 94 th.AssertNoErr(t, res.Err) 95 } 96 97 func TestUpdateDomain(t *testing.T) { 98 th.SetupHTTP() 99 defer th.TeardownHTTP() 100 HandleUpdateDomainSuccessfully(t) 101 102 var description = "Staging Domain" 103 updateOpts := domains.UpdateOpts{ 104 Description: &description, 105 } 106 107 actual, err := domains.Update(client.ServiceClient(), "9fe1d3", updateOpts).Extract() 108 th.AssertNoErr(t, err) 109 th.CheckDeepEquals(t, SecondDomainUpdated, *actual) 110 }