diff options
| author | Tiago Mello <tmello@linux.vnet.ibm.com> | 2012-08-31 18:57:12 -0300 |
|---|---|---|
| committer | Tiago Mello <tmello@linux.vnet.ibm.com> | 2012-09-03 14:31:00 -0300 |
| commit | 5c348b15ff7560cfbeec47fc37527da6a2397bfb (patch) | |
| tree | 582b548adffc8dbf6ac4f32bebba18beada429da /nova | |
| parent | b957a3553e9274043e6ad55a92ceb91c22ca2265 (diff) | |
| download | nova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.tar.gz nova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.tar.xz nova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.zip | |
Adds API sample test for limits
Adds samples for GET /limits
Change-Id: Ie6b42119a9d60273d5d4d0c17fb44082009bc847
Diffstat (limited to 'nova')
5 files changed, 213 insertions, 0 deletions
diff --git a/nova/tests/integrated/api_samples/limit-get-resp.json b/nova/tests/integrated/api_samples/limit-get-resp.json new file mode 100644 index 000000000..a4bc99bf9 --- /dev/null +++ b/nova/tests/integrated/api_samples/limit-get-resp.json @@ -0,0 +1,72 @@ +{ + "limits": { + "absolute": { + "maxImageMeta": 128, + "maxPersonality": 5, + "maxPersonalitySize": 10240, + "maxServerMeta": 128, + "maxTotalCores": 20, + "maxTotalFloatingIps": 10, + "maxTotalInstances": 10, + "maxTotalKeypairs": 100, + "maxTotalRAMSize": 51200, + "maxTotalVolumeGigabytes": 1000, + "maxTotalVolumes": 10 + }, + "rate": [ + { + "limit": [ + { + "next-available": "2012-08-31T22:36:27Z", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "POST" + }, + { + "next-available": "2012-08-31T22:36:27Z", + "remaining": 10, + "unit": "MINUTE", + "value": 10, + "verb": "PUT" + }, + { + "next-available": "2012-08-31T22:36:27Z", + "remaining": 100, + "unit": "MINUTE", + "value": 100, + "verb": "DELETE" + } + ], + "regex": ".*", + "uri": "*" + }, + { + "limit": [ + { + "next-available": "2012-08-31T22:36:27Z", + "remaining": 50, + "unit": "DAY", + "value": 50, + "verb": "POST" + } + ], + "regex": "^/servers", + "uri": "*/servers" + }, + { + "limit": [ + { + "next-available": "2012-08-31T22:36:27Z", + "remaining": 3, + "unit": "MINUTE", + "value": 3, + "verb": "GET" + } + ], + "regex": ".*changes-since.*", + "uri": "*changes-since*" + } + ] + } +}
\ No newline at end of file diff --git a/nova/tests/integrated/api_samples/limit-get-resp.json.tpl b/nova/tests/integrated/api_samples/limit-get-resp.json.tpl new file mode 100644 index 000000000..99d27ed5e --- /dev/null +++ b/nova/tests/integrated/api_samples/limit-get-resp.json.tpl @@ -0,0 +1,72 @@ +{ + "limits": { + "absolute": { + "maxImageMeta": 128, + "maxPersonality": 5, + "maxPersonalitySize": 10240, + "maxServerMeta": 128, + "maxTotalCores": 20, + "maxTotalFloatingIps": 10, + "maxTotalInstances": 10, + "maxTotalKeypairs": 100, + "maxTotalRAMSize": 51200, + "maxTotalVolumeGigabytes": 1000, + "maxTotalVolumes": 10 + }, + "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/limit-get-resp.xml b/nova/tests/integrated/api_samples/limit-get-resp.xml new file mode 100644 index 000000000..8157eeb11 --- /dev/null +++ b/nova/tests/integrated/api_samples/limit-get-resp.xml @@ -0,0 +1,29 @@ +<?xml version='1.0' encoding='UTF-8'?> +<limits xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0"> + <rates> + <rate regex=".*" uri="*"> + <limit next-available="2012-08-31T22:36:23Z" unit="MINUTE" verb="POST" remaining="10" value="10"/> + <limit next-available="2012-08-31T22:36:23Z" unit="MINUTE" verb="PUT" remaining="10" value="10"/> + <limit next-available="2012-08-31T22:36:23Z" unit="MINUTE" verb="DELETE" remaining="100" value="100"/> + </rate> + <rate regex="^/servers" uri="*/servers"> + <limit next-available="2012-08-31T22:36:23Z" unit="DAY" verb="POST" remaining="50" value="50"/> + </rate> + <rate regex=".*changes-since.*" uri="*changes-since*"> + <limit next-available="2012-08-31T22:36:23Z" unit="MINUTE" verb="GET" remaining="3" value="3"/> + </rate> + </rates> + <absolute> + <limit name="maxServerMeta" value="128"/> + <limit name="maxTotalInstances" value="10"/> + <limit name="maxPersonality" value="5"/> + <limit name="maxImageMeta" value="128"/> + <limit name="maxPersonalitySize" value="10240"/> + <limit name="maxTotalKeypairs" value="100"/> + <limit name="maxTotalVolumes" value="10"/> + <limit name="maxTotalCores" value="20"/> + <limit name="maxTotalFloatingIps" value="10"/> + <limit name="maxTotalVolumeGigabytes" value="1000"/> + <limit name="maxTotalRAMSize" value="51200"/> + </absolute> +</limits>
\ No newline at end of file diff --git a/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl b/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl new file mode 100644 index 000000000..61f09246f --- /dev/null +++ b/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl @@ -0,0 +1,29 @@ +<?xml version='1.0' encoding='UTF-8'?> +<limits xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0"> + <rates> + <rate regex=".*" uri="*"> + <limit next-available="%(timestamp)s" unit="MINUTE" verb="POST" remaining="10" value="10"/> + <limit next-available="%(timestamp)s" unit="MINUTE" verb="PUT" remaining="10" value="10"/> + <limit next-available="%(timestamp)s" unit="MINUTE" verb="DELETE" remaining="100" value="100"/> + </rate> + <rate regex="^/servers" uri="*/servers"> + <limit next-available="%(timestamp)s" unit="DAY" verb="POST" remaining="50" value="50"/> + </rate> + <rate regex=".*changes-since.*" uri="*changes-since*"> + <limit next-available="%(timestamp)s" unit="MINUTE" verb="GET" remaining="3" value="3"/> + </rate> + </rates> + <absolute> + <limit name="maxServerMeta" value="128"/> + <limit name="maxTotalInstances" value="10"/> + <limit name="maxPersonality" value="5"/> + <limit name="maxImageMeta" value="128"/> + <limit name="maxPersonalitySize" value="10240"/> + <limit name="maxTotalKeypairs" value="100"/> + <limit name="maxTotalVolumes" value="10"/> + <limit name="maxTotalCores" value="20"/> + <limit name="maxTotalFloatingIps" value="10"/> + <limit name="maxTotalVolumeGigabytes" value="1000"/> + <limit name="maxTotalRAMSize" value="51200"/> + </absolute> +</limits> diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 08a602867..3d703f3f1 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -359,3 +359,14 @@ class ImagesSampleJsonTest(ApiSampleTestBase): class ImagesSampleXmlTest(ImagesSampleJsonTest): ctype = 'xml' + + +class LimitsSampleJsonTest(ApiSampleTestBase): + def test_limits_get(self): + response = self._do_get('limits') + subs = self._get_regexes() + return self._verify_response('limit-get-resp', subs, response) + + +class LimitsSampleXmlTest(LimitsSampleJsonTest): + ctype = 'xml' |
