|
6 | 6 | ObjectStorageACL,
|
7 | 7 | ObjectStorageBucket,
|
8 | 8 | ObjectStorageCluster,
|
| 9 | + ObjectStorageQuota, |
9 | 10 | )
|
10 | 11 |
|
11 | 12 |
|
@@ -284,3 +285,53 @@ def test_object_acl_config_update(self):
|
284 | 285 | "name": "example",
|
285 | 286 | },
|
286 | 287 | )
|
| 288 | + |
| 289 | + def test_quota_get_and_list(self): |
| 290 | + """ |
| 291 | + Test that you can get and list an Object storage quota and usage information. |
| 292 | + """ |
| 293 | + quota = ObjectStorageQuota( |
| 294 | + self.client, |
| 295 | + "obj-objects-us-ord-1", |
| 296 | + ) |
| 297 | + |
| 298 | + self.assertIsNotNone(quota) |
| 299 | + self.assertEqual(quota.quota_id, "obj-objects-us-ord-1") |
| 300 | + self.assertEqual(quota.quota_name, "Object Storage Maximum Objects") |
| 301 | + self.assertEqual( |
| 302 | + quota.description, |
| 303 | + "Maximum number of Objects this customer is allowed to have on this endpoint.", |
| 304 | + ) |
| 305 | + self.assertEqual(quota.endpoint_type, "E1") |
| 306 | + self.assertEqual(quota.s3_endpoint, "us-iad-1.linodeobjects.com") |
| 307 | + self.assertEqual(quota.quota_limit, 50) |
| 308 | + self.assertEqual(quota.resource_metric, "object") |
| 309 | + |
| 310 | + quota_usage_url = "/object-storage/quotas/obj-objects-us-ord-1/usage" |
| 311 | + with self.mock_get(quota_usage_url) as m: |
| 312 | + usage = quota.usage() |
| 313 | + self.assertIsNotNone(usage) |
| 314 | + self.assertEqual(m.call_url, quota_usage_url) |
| 315 | + self.assertEqual(usage.quota_limit, 100) |
| 316 | + self.assertEqual(usage.usage, 10) |
| 317 | + |
| 318 | + quota_list_url = "/object-storage/quotas" |
| 319 | + with self.mock_get(quota_list_url) as m: |
| 320 | + quotas = self.client.object_storage.quotas() |
| 321 | + self.assertIsNotNone(quotas) |
| 322 | + self.assertEqual(m.call_url, quota_list_url) |
| 323 | + self.assertEqual(len(quotas), 2) |
| 324 | + self.assertEqual(quotas[0].quota_id, "obj-objects-us-ord-1") |
| 325 | + self.assertEqual( |
| 326 | + quotas[0].quota_name, "Object Storage Maximum Objects" |
| 327 | + ) |
| 328 | + self.assertEqual( |
| 329 | + quotas[0].description, |
| 330 | + "Maximum number of Objects this customer is allowed to have on this endpoint.", |
| 331 | + ) |
| 332 | + self.assertEqual(quotas[0].endpoint_type, "E1") |
| 333 | + self.assertEqual( |
| 334 | + quotas[0].s3_endpoint, "us-iad-1.linodeobjects.com" |
| 335 | + ) |
| 336 | + self.assertEqual(quotas[0].quota_limit, 50) |
| 337 | + self.assertEqual(quotas[0].resource_metric, "object") |
0 commit comments