github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/placement/v1/resourceproviders_test.go (about)

     1  package v1
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gophercloud/gophercloud/internal/acceptance/clients"
     7  	"github.com/gophercloud/gophercloud/internal/acceptance/tools"
     8  	"github.com/gophercloud/gophercloud/openstack/placement/v1/resourceproviders"
     9  	th "github.com/gophercloud/gophercloud/testhelper"
    10  )
    11  
    12  func TestResourceProviderList(t *testing.T) {
    13  	clients.RequireAdmin(t)
    14  
    15  	client, err := clients.NewPlacementV1Client()
    16  	th.AssertNoErr(t, err)
    17  
    18  	allPages, err := resourceproviders.List(client, resourceproviders.ListOpts{}).AllPages()
    19  	th.AssertNoErr(t, err)
    20  
    21  	allResourceProviders, err := resourceproviders.ExtractResourceProviders(allPages)
    22  	th.AssertNoErr(t, err)
    23  
    24  	for _, v := range allResourceProviders {
    25  		tools.PrintResource(t, v)
    26  	}
    27  }
    28  
    29  func TestResourceProvider(t *testing.T) {
    30  	clients.SkipRelease(t, "stable/mitaka")
    31  	clients.SkipRelease(t, "stable/newton")
    32  	clients.SkipRelease(t, "stable/ocata")
    33  	clients.SkipRelease(t, "stable/pike")
    34  	clients.SkipRelease(t, "stable/queens")
    35  	clients.RequireAdmin(t)
    36  
    37  	client, err := clients.NewPlacementV1Client()
    38  	th.AssertNoErr(t, err)
    39  
    40  	resourceProvider, err := CreateResourceProvider(t, client)
    41  	th.AssertNoErr(t, err)
    42  	defer DeleteResourceProvider(t, client, resourceProvider.UUID)
    43  
    44  	resourceProvider2, err := CreateResourceProviderWithParent(t, client, resourceProvider.UUID)
    45  	th.AssertNoErr(t, err)
    46  	defer DeleteResourceProvider(t, client, resourceProvider2.UUID)
    47  
    48  	newName := tools.RandomString("TESTACC-", 8)
    49  	updateOpts := resourceproviders.UpdateOpts{
    50  		Name: &newName,
    51  	}
    52  	resourceProviderUpdate, err := resourceproviders.Update(client, resourceProvider2.UUID, updateOpts).Extract()
    53  	th.AssertNoErr(t, err)
    54  	th.AssertEquals(t, newName, resourceProviderUpdate.Name)
    55  
    56  	resourceProviderGet, err := resourceproviders.Get(client, resourceProvider2.UUID).Extract()
    57  	th.AssertNoErr(t, err)
    58  	th.AssertEquals(t, newName, resourceProviderGet.Name)
    59  
    60  }
    61  
    62  func TestResourceProviderUsages(t *testing.T) {
    63  	clients.RequireAdmin(t)
    64  
    65  	clients.RequireAdmin(t)
    66  
    67  	client, err := clients.NewPlacementV1Client()
    68  	th.AssertNoErr(t, err)
    69  
    70  	// first create new resource provider
    71  	resourceProvider, err := CreateResourceProvider(t, client)
    72  	th.AssertNoErr(t, err)
    73  	defer DeleteResourceProvider(t, client, resourceProvider.UUID)
    74  
    75  	// now get the usages for the newly created resource provider
    76  	usage, err := resourceproviders.GetUsages(client, resourceProvider.UUID).Extract()
    77  	th.AssertNoErr(t, err)
    78  
    79  	tools.PrintResource(t, usage)
    80  }
    81  
    82  func TestResourceProviderInventories(t *testing.T) {
    83  	clients.RequireAdmin(t)
    84  
    85  	client, err := clients.NewPlacementV1Client()
    86  	th.AssertNoErr(t, err)
    87  
    88  	// first create new resource provider
    89  	resourceProvider, err := CreateResourceProvider(t, client)
    90  	th.AssertNoErr(t, err)
    91  	defer DeleteResourceProvider(t, client, resourceProvider.UUID)
    92  
    93  	// now get the inventories for the newly created resource provider
    94  	usage, err := resourceproviders.GetInventories(client, resourceProvider.UUID).Extract()
    95  	th.AssertNoErr(t, err)
    96  
    97  	tools.PrintResource(t, usage)
    98  }
    99  
   100  func TestResourceProviderTraits(t *testing.T) {
   101  	clients.RequireAdmin(t)
   102  
   103  	client, err := clients.NewPlacementV1Client()
   104  	th.AssertNoErr(t, err)
   105  
   106  	// first create new resource provider
   107  	resourceProvider, err := CreateResourceProvider(t, client)
   108  	th.AssertNoErr(t, err)
   109  	defer DeleteResourceProvider(t, client, resourceProvider.UUID)
   110  
   111  	// now get the traits for the newly created resource provider
   112  	usage, err := resourceproviders.GetTraits(client, resourceProvider.UUID).Extract()
   113  	th.AssertNoErr(t, err)
   114  
   115  	tools.PrintResource(t, usage)
   116  }
   117  
   118  func TestResourceProviderAllocations(t *testing.T) {
   119  	clients.RequireAdmin(t)
   120  
   121  	client, err := clients.NewPlacementV1Client()
   122  	th.AssertNoErr(t, err)
   123  
   124  	// first create new resource provider
   125  	resourceProvider, err := CreateResourceProvider(t, client)
   126  	th.AssertNoErr(t, err)
   127  	defer DeleteResourceProvider(t, client, resourceProvider.UUID)
   128  
   129  	// now get the allocations for the newly created resource provider
   130  	usage, err := resourceproviders.GetAllocations(client, resourceProvider.UUID).Extract()
   131  	th.AssertNoErr(t, err)
   132  
   133  	tools.PrintResource(t, usage)
   134  }