github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/placement/v1/resourceproviders/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/placement/v1/resourceproviders"
     8  
     9  	"github.com/vnpaycloud-console/gophercloud/v2/pagination"
    10  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    11  	fake "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client"
    12  )
    13  
    14  func TestListResourceProviders(t *testing.T) {
    15  	th.SetupHTTP()
    16  	defer th.TeardownHTTP()
    17  
    18  	HandleResourceProviderList(t)
    19  
    20  	count := 0
    21  	err := resourceproviders.List(fake.ServiceClient(), resourceproviders.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
    22  		count++
    23  
    24  		actual, err := resourceproviders.ExtractResourceProviders(page)
    25  		if err != nil {
    26  			t.Errorf("Failed to extract resource providers: %v", err)
    27  			return false, err
    28  		}
    29  		th.AssertDeepEquals(t, ExpectedResourceProviders, actual)
    30  
    31  		return true, nil
    32  	})
    33  
    34  	th.AssertNoErr(t, err)
    35  
    36  	if count != 1 {
    37  		t.Errorf("Expected 1 page, got %d", count)
    38  	}
    39  }
    40  
    41  func TestCreateResourceProvider(t *testing.T) {
    42  	th.SetupHTTP()
    43  	defer th.TeardownHTTP()
    44  
    45  	HandleResourceProviderCreate(t)
    46  
    47  	expected := ExpectedResourceProvider1
    48  
    49  	opts := resourceproviders.CreateOpts{
    50  		Name:               ExpectedResourceProvider1.Name,
    51  		UUID:               ExpectedResourceProvider1.UUID,
    52  		ParentProviderUUID: ExpectedResourceProvider1.ParentProviderUUID,
    53  	}
    54  
    55  	actual, err := resourceproviders.Create(context.TODO(), fake.ServiceClient(), opts).Extract()
    56  	th.AssertNoErr(t, err)
    57  
    58  	th.AssertDeepEquals(t, &expected, actual)
    59  }
    60  
    61  func TestGetResourceProvider(t *testing.T) {
    62  	th.SetupHTTP()
    63  	defer th.TeardownHTTP()
    64  
    65  	HandleResourceProviderGet(t)
    66  
    67  	expected := ExpectedResourceProvider1
    68  
    69  	actual, err := resourceproviders.Get(context.TODO(), fake.ServiceClient(), ExpectedResourceProvider1.UUID).Extract()
    70  	th.AssertNoErr(t, err)
    71  
    72  	th.AssertDeepEquals(t, &expected, actual)
    73  }
    74  
    75  func TestDeleteResourceProvider(t *testing.T) {
    76  	th.SetupHTTP()
    77  	defer th.TeardownHTTP()
    78  
    79  	HandleResourceProviderDelete(t)
    80  
    81  	res := resourceproviders.Delete(context.TODO(), fake.ServiceClient(), "b99b3ab4-3aa6-4fba-b827-69b88b9c544a")
    82  	th.AssertNoErr(t, res.Err)
    83  }
    84  
    85  func TestUpdate(t *testing.T) {
    86  	th.SetupHTTP()
    87  	defer th.TeardownHTTP()
    88  
    89  	HandleResourceProviderUpdate(t)
    90  
    91  	name := "new_name"
    92  	parentProviderUUID := "b99b3ab4-3aa6-4fba-b827-69b88b9c544a"
    93  
    94  	options := resourceproviders.UpdateOpts{
    95  		Name:               &name,
    96  		ParentProviderUUID: &parentProviderUUID,
    97  	}
    98  	rp, err := resourceproviders.Update(context.TODO(), fake.ServiceClient(), "4e8e5957-649f-477b-9e5b-f1f75b21c03c", options).Extract()
    99  	th.AssertNoErr(t, err)
   100  
   101  	th.AssertEquals(t, rp.Name, name)
   102  	th.AssertEquals(t, rp.ParentProviderUUID, parentProviderUUID)
   103  }
   104  
   105  func TestGetResourceProvidersUsages(t *testing.T) {
   106  	th.SetupHTTP()
   107  	defer th.TeardownHTTP()
   108  
   109  	HandleResourceProviderGetUsages(t)
   110  
   111  	actual, err := resourceproviders.GetUsages(context.TODO(), fake.ServiceClient(), ResourceProviderTestID).Extract()
   112  	th.AssertNoErr(t, err)
   113  	th.AssertDeepEquals(t, ExpectedUsages, *actual)
   114  }
   115  
   116  func TestGetResourceProvidersInventories(t *testing.T) {
   117  	th.SetupHTTP()
   118  	defer th.TeardownHTTP()
   119  
   120  	HandleResourceProviderGetInventories(t)
   121  
   122  	actual, err := resourceproviders.GetInventories(context.TODO(), fake.ServiceClient(), ResourceProviderTestID).Extract()
   123  	th.AssertNoErr(t, err)
   124  	th.AssertDeepEquals(t, ExpectedInventories, *actual)
   125  }
   126  
   127  func TestGetResourceProvidersAllocations(t *testing.T) {
   128  	th.SetupHTTP()
   129  	defer th.TeardownHTTP()
   130  
   131  	HandleResourceProviderGetAllocations(t)
   132  
   133  	actual, err := resourceproviders.GetAllocations(context.TODO(), fake.ServiceClient(), ResourceProviderTestID).Extract()
   134  	th.AssertNoErr(t, err)
   135  	th.AssertDeepEquals(t, ExpectedAllocations, *actual)
   136  }
   137  
   138  func TestGetResourceProvidersTraits(t *testing.T) {
   139  	th.SetupHTTP()
   140  	defer th.TeardownHTTP()
   141  
   142  	HandleResourceProviderGetTraits(t)
   143  
   144  	actual, err := resourceproviders.GetTraits(context.TODO(), fake.ServiceClient(), ResourceProviderTestID).Extract()
   145  	th.AssertNoErr(t, err)
   146  	th.AssertDeepEquals(t, ExpectedTraits, *actual)
   147  }