summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTiago Mello <tmello@linux.vnet.ibm.com>2012-08-31 18:57:12 -0300
committerTiago Mello <tmello@linux.vnet.ibm.com>2012-09-03 14:31:00 -0300
commit5c348b15ff7560cfbeec47fc37527da6a2397bfb (patch)
tree582b548adffc8dbf6ac4f32bebba18beada429da
parentb957a3553e9274043e6ad55a92ceb91c22ca2265 (diff)
downloadnova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.tar.gz
nova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.tar.xz
nova-5c348b15ff7560cfbeec47fc37527da6a2397bfb.zip
Adds API sample test for limits
Adds samples for GET /limits Change-Id: Ie6b42119a9d60273d5d4d0c17fb44082009bc847
-rw-r--r--nova/tests/integrated/api_samples/limit-get-resp.json72
-rw-r--r--nova/tests/integrated/api_samples/limit-get-resp.json.tpl72
-rw-r--r--nova/tests/integrated/api_samples/limit-get-resp.xml29
-rw-r--r--nova/tests/integrated/api_samples/limit-get-resp.xml.tpl29
-rw-r--r--nova/tests/integrated/test_api_samples.py11
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'