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  }