github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/identity/v3/domains_test.go (about) 1 //go:build acceptance 2 // +build acceptance 3 4 package v3 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/identity/v3/domains" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestDomainsListAvailable(t *testing.T) { 16 clients.RequireAdmin(t) 17 18 client, err := clients.NewIdentityV3Client() 19 th.AssertNoErr(t, err) 20 21 allPages, err := domains.ListAvailable(client).AllPages() 22 th.AssertNoErr(t, err) 23 24 allDomains, err := domains.ExtractDomains(allPages) 25 th.AssertNoErr(t, err) 26 27 for _, domain := range allDomains { 28 tools.PrintResource(t, domain) 29 } 30 } 31 32 func TestDomainsList(t *testing.T) { 33 clients.RequireAdmin(t) 34 35 client, err := clients.NewIdentityV3Client() 36 th.AssertNoErr(t, err) 37 38 var iTrue bool = true 39 listOpts := domains.ListOpts{ 40 Enabled: &iTrue, 41 } 42 43 allPages, err := domains.List(client, listOpts).AllPages() 44 th.AssertNoErr(t, err) 45 46 allDomains, err := domains.ExtractDomains(allPages) 47 th.AssertNoErr(t, err) 48 49 var found bool 50 for _, domain := range allDomains { 51 tools.PrintResource(t, domain) 52 53 if domain.Name == "Default" { 54 found = true 55 } 56 } 57 58 th.AssertEquals(t, found, true) 59 } 60 61 func TestDomainsGet(t *testing.T) { 62 clients.RequireAdmin(t) 63 64 client, err := clients.NewIdentityV3Client() 65 th.AssertNoErr(t, err) 66 67 p, err := domains.Get(client, "default").Extract() 68 th.AssertNoErr(t, err) 69 70 tools.PrintResource(t, p) 71 72 th.AssertEquals(t, p.Name, "Default") 73 } 74 75 func TestDomainsCRUD(t *testing.T) { 76 clients.RequireAdmin(t) 77 78 client, err := clients.NewIdentityV3Client() 79 th.AssertNoErr(t, err) 80 81 var iTrue bool = true 82 var description = "Testing Domain" 83 createOpts := domains.CreateOpts{ 84 Description: description, 85 Enabled: &iTrue, 86 } 87 88 domain, err := CreateDomain(t, client, &createOpts) 89 th.AssertNoErr(t, err) 90 defer DeleteDomain(t, client, domain.ID) 91 92 tools.PrintResource(t, domain) 93 94 th.AssertEquals(t, domain.Description, description) 95 96 var iFalse bool = false 97 description = "" 98 updateOpts := domains.UpdateOpts{ 99 Description: &description, 100 Enabled: &iFalse, 101 } 102 103 newDomain, err := domains.Update(client, domain.ID, updateOpts).Extract() 104 th.AssertNoErr(t, err) 105 106 tools.PrintResource(t, newDomain) 107 108 th.AssertEquals(t, newDomain.Description, description) 109 }