github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/identity/v3/registeredlimits/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/vnpaycloud-console/gophercloud/v2/openstack/identity/v3/registeredlimits" 8 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 9 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 10 "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client" 11 ) 12 13 func TestListRegisteredLimits(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 HandleListRegisteredLimitsSuccessfully(t) 17 18 count := 0 19 err := registeredlimits.List(client.ServiceClient(), nil).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 20 count++ 21 22 actual, err := registeredlimits.ExtractRegisteredLimits(page) 23 th.AssertNoErr(t, err) 24 25 th.CheckDeepEquals(t, ExpectedRegisteredLimitsSlice, actual) 26 27 return true, nil 28 }) 29 th.AssertNoErr(t, err) 30 th.CheckEquals(t, count, 1) 31 } 32 33 func TestListRegisteredLimitsAllPages(t *testing.T) { 34 th.SetupHTTP() 35 defer th.TeardownHTTP() 36 HandleListRegisteredLimitsSuccessfully(t) 37 38 allPages, err := registeredlimits.List(client.ServiceClient(), nil).AllPages(context.TODO()) 39 th.AssertNoErr(t, err) 40 actual, err := registeredlimits.ExtractRegisteredLimits(allPages) 41 th.AssertNoErr(t, err) 42 th.CheckDeepEquals(t, ExpectedRegisteredLimitsSlice, actual) 43 } 44 45 func TestCreateRegisteredLimits(t *testing.T) { 46 th.SetupHTTP() 47 defer th.TeardownHTTP() 48 HandleCreateRegisteredLimitSuccessfully(t) 49 50 createOpts := registeredlimits.BatchCreateOpts{ 51 registeredlimits.CreateOpts{ 52 ServiceID: "9408080f1970482aa0e38bc2d4ea34b7", 53 RegionID: "RegionOne", 54 ResourceName: "snapshot", 55 DefaultLimit: 5, 56 }, 57 registeredlimits.CreateOpts{ 58 ServiceID: "9408080f1970482aa0e38bc2d4ea34b7", 59 RegionID: "RegionOne", 60 ResourceName: "volume", 61 DefaultLimit: 11, 62 Description: "Number of volumes for service 9408080f1970482aa0e38bc2d4ea34b7", 63 }, 64 } 65 66 actual, err := registeredlimits.BatchCreate(context.TODO(), client.ServiceClient(), createOpts).Extract() 67 th.AssertNoErr(t, err) 68 th.CheckDeepEquals(t, ExpectedRegisteredLimitsSlice, actual) 69 } 70 71 func TestGetRegisteredLimit(t *testing.T) { 72 th.SetupHTTP() 73 defer th.TeardownHTTP() 74 HandleGetRegisteredLimitSuccessfully(t) 75 76 actual, err := registeredlimits.Get(context.TODO(), client.ServiceClient(), "3229b3849f584faea483d6851f7aab05").Extract() 77 th.AssertNoErr(t, err) 78 th.CheckDeepEquals(t, SecondRegisteredLimit, *actual) 79 } 80 81 func TestDeleteRegisteredLimit(t *testing.T) { 82 th.SetupHTTP() 83 defer th.TeardownHTTP() 84 HandleDeleteRegisteredLimitSuccessfully(t) 85 86 res := registeredlimits.Delete(context.TODO(), client.ServiceClient(), "3229b3849f584faea483d6851f7aab05") 87 th.AssertNoErr(t, res.Err) 88 } 89 90 func TestUpdateRegisteredLimit(t *testing.T) { 91 th.SetupHTTP() 92 defer th.TeardownHTTP() 93 HandleUpdateRegisteredLimitSuccessfully(t) 94 95 defaultLimit := 15 96 updateOpts := registeredlimits.UpdateOpts{ 97 ServiceID: "9408080f1970482aa0e38bc2d4ea34b7", 98 ResourceName: "volumes", 99 DefaultLimit: &defaultLimit, 100 } 101 102 actual, err := registeredlimits.Update(context.TODO(), client.ServiceClient(), "3229b3849f584faea483d6851f7aab05", updateOpts).Extract() 103 th.AssertNoErr(t, err) 104 th.CheckDeepEquals(t, UpdatedSecondRegisteredLimit, *actual) 105 }