From 5c348b15ff7560cfbeec47fc37527da6a2397bfb Mon Sep 17 00:00:00 2001 From: Tiago Mello Date: Fri, 31 Aug 2012 18:57:12 -0300 Subject: Adds API sample test for limits Adds samples for GET /limits Change-Id: Ie6b42119a9d60273d5d4d0c17fb44082009bc847 --- .../integrated/api_samples/limit-get-resp.json | 72 ++++++++++++++++++++++ .../integrated/api_samples/limit-get-resp.json.tpl | 72 ++++++++++++++++++++++ .../integrated/api_samples/limit-get-resp.xml | 29 +++++++++ .../integrated/api_samples/limit-get-resp.xml.tpl | 29 +++++++++ nova/tests/integrated/test_api_samples.py | 11 ++++ 5 files changed, 213 insertions(+) create mode 100644 nova/tests/integrated/api_samples/limit-get-resp.json create mode 100644 nova/tests/integrated/api_samples/limit-get-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/limit-get-resp.xml create mode 100644 nova/tests/integrated/api_samples/limit-get-resp.xml.tpl (limited to 'nova') 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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' -- cgit