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 }