From 10f31f7c43510df6883238d47abde76e4aca2182 Mon Sep 17 00:00:00 2001 From: "Mauro S. M. Rodrigues" Date: Tue, 2 Oct 2012 12:29:28 -0400 Subject: Add api-samples to Used limits extension Change-Id: I67069637db35eeb5a87026bf62252d006ed11b98 --- .../os-used-limits/usedlimits-get-resp.json | 81 ++++++++++++++++++++++ .../os-used-limits/usedlimits-get-resp.xml | 38 ++++++++++ .../os-used-limits/usedlimits-get-resp.json.tpl | 81 ++++++++++++++++++++++ .../os-used-limits/usedlimits-get-resp.xml.tpl | 38 ++++++++++ nova/tests/integrated/test_api_samples.py | 16 +++++ 5 files changed, 254 insertions(+) create mode 100644 doc/api_samples/os-used-limits/usedlimits-get-resp.json create mode 100644 doc/api_samples/os-used-limits/usedlimits-get-resp.xml create mode 100644 nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl diff --git a/doc/api_samples/os-used-limits/usedlimits-get-resp.json b/doc/api_samples/os-used-limits/usedlimits-get-resp.json new file mode 100644 index 000000000..e24a1b8bb --- /dev/null +++ b/doc/api_samples/os-used-limits/usedlimits-get-resp.json @@ -0,0 +1,81 @@ +{ + "limits": { + "absolute": { + "maxImageMeta": 128, + "maxPersonality": 5, + "maxPersonalitySize": 10240, + "maxSecurityGroupRules": 20, + "maxSecurityGroups": 10, + "maxServerMeta": 128, + "maxTotalCores": 20, + "maxTotalFloatingIps": 10, + "maxTotalInstances": 10, + "maxTotalKeypairs": 100, + "maxTotalRAMSize": 51200, + "maxTotalVolumeGigabytes": 1000, + "maxTotalVolumes": 10, + "totalCoresUsed": 0, + "totalInstancesUsed": 0, + "totalKeyPairsUsed": 0, + "totalRAMUsed": 0, + "totalSecurityGroupsUsed": 0, + "totalVolumeGigabytesUsed": 0, + "totalVolumesUsed": 0 + }, + "rate": [ + { + "limit": [ + { + "next-available": "2012-10-04T15:38:20Z", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "POST" + }, + { + "next-available": "2012-10-04T15:38:20Z", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "PUT" + }, + { + "next-available": "2012-10-04T15:38:20Z", + "remaining": 100, + "unit": "MINUTE", + "value": 100, + "verb": "DELETE" + } + ], + "regex": ".*", + "uri": "*" + }, + { + "limit": [ + { + "next-available": "2012-10-04T15:38:20Z", + "remaining": 50, + "unit": "DAY", + "value": 50, + "verb": "POST" + } + ], + "regex": "^/servers", + "uri": "*/servers" + }, + { + "limit": [ + { + "next-available": "2012-10-04T15:38:20Z", + "remaining": 3, + "unit": "MINUTE", + "value": 3, + "verb": "GET" + } + ], + "regex": ".*changes-since.*", + "uri": "*changes-since*" + } + ] + } +} \ No newline at end of file diff --git a/doc/api_samples/os-used-limits/usedlimits-get-resp.xml b/doc/api_samples/os-used-limits/usedlimits-get-resp.xml new file mode 100644 index 000000000..ae14c8158 --- /dev/null +++ b/doc/api_samples/os-used-limits/usedlimits-get-resp.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl new file mode 100644 index 000000000..9c927eeef --- /dev/null +++ b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl @@ -0,0 +1,81 @@ +{ + "limits": { + "absolute": { + "maxImageMeta": 128, + "maxPersonality": 5, + "maxPersonalitySize": 10240, + "maxSecurityGroupRules": 20, + "maxSecurityGroups": 10, + "maxServerMeta": 128, + "maxTotalCores": 20, + "maxTotalFloatingIps": 10, + "maxTotalInstances": 10, + "maxTotalKeypairs": 100, + "maxTotalRAMSize": 51200, + "maxTotalVolumeGigabytes": 1000, + "maxTotalVolumes": 10, + "totalCoresUsed": 0, + "totalInstancesUsed": 0, + "totalKeyPairsUsed": 0, + "totalRAMUsed": 0, + "totalSecurityGroupsUsed": 0, + "totalVolumeGigabytesUsed": 0, + "totalVolumesUsed": 0 + }, + "rate": [ + { + "limit": [ + { + "next-available": "%(timestamp)s", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "POST" + }, + { + "next-available": "%(timestamp)s", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "PUT" + }, + { + "next-available": "%(timestamp)s", + "remaining": 100, + "unit": "MINUTE", + "value": 100, + "verb": "DELETE" + } + ], + "regex": ".*", + "uri": "*" + }, + { + "limit": [ + { + "next-available": "%(timestamp)s", + "remaining": 50, + "unit": "DAY", + "value": 50, + "verb": "POST" + } + ], + "regex": "^/servers", + "uri": "*/servers" + }, + { + "limit": [ + { + "next-available": "%(timestamp)s", + "remaining": 3, + "unit": "MINUTE", + "value": 3, + "verb": "GET" + } + ], + "regex": ".*changes-since.*", + "uri": "*changes-since*" + } + ] + } +} diff --git a/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl new file mode 100644 index 000000000..a11a577d0 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 9aca460cf..7e72970d9 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -1170,4 +1170,20 @@ class CertificatesSamplesJsonTest(ApiSampleTestBase): class CertificatesSamplesXmlTest(CertificatesSamplesJsonTest): + ctype = 'xml' + + +class UsedLimitsSamplesJsonTest(ApiSampleTestBase): + extension_name = ("nova.api.openstack.compute.contrib.used_limits." + "Used_limits") + + def test_get_used_limits(self): + """Get api sample to used limits""" + response = self._do_get('limits') + self.assertEqual(response.status, 200) + subs = self._get_regexes() + return self._verify_response('usedlimits-get-resp', subs, response) + + +class UsedLimitsSamplesXmlTest(UsedLimitsSamplesJsonTest): ctype = "xml" -- cgit