From 143fb274efbd365689873d178ce18748c5282cf0 Mon Sep 17 00:00:00 2001 From: Tiago Mello Date: Mon, 21 Jan 2013 12:37:07 -0200 Subject: [PATCH] Adds API Sample tests for os-instance_usage_audit_log extension. Fixes Bug 1091752. Partially implements bp nova-api-samples. Change-Id: I2db83ac32283795ab0cbf254c6adbd352806b297 --- .../inst-usage-audit-log-index-get-resp.json | 17 +++++++++++ .../inst-usage-audit-log-index-get-resp.xml | 16 ++++++++++ .../inst-usage-audit-log-show-get-resp.json | 17 +++++++++++ .../inst-usage-audit-log-show-get-resp.xml | 16 ++++++++++ ...st-usage-audit-log-index-get-resp.json.tpl | 17 +++++++++++ ...nst-usage-audit-log-index-get-resp.xml.tpl | 16 ++++++++++ ...nst-usage-audit-log-show-get-resp.json.tpl | 17 +++++++++++ ...inst-usage-audit-log-show-get-resp.xml.tpl | 16 ++++++++++ nova/tests/integrated/test_api_samples.py | 29 +++++++++++++++++-- 9 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json create mode 100644 doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml create mode 100644 doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json create mode 100644 doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml create mode 100644 nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml.tpl create mode 100644 nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml.tpl diff --git a/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json new file mode 100644 index 000000000000..1d308d4ae803 --- /dev/null +++ b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json @@ -0,0 +1,17 @@ +{ + "instance_usage_audit_logs": { + "hosts_not_run": [ + "f4eb7cfd155f4574967f8b55a7faed75" + ], + "log": {}, + "num_hosts": 1, + "num_hosts_done": 0, + "num_hosts_not_run": 1, + "num_hosts_running": 0, + "overall_status": "0 of 1 hosts done. 0 errors.", + "period_beginning": "2012-12-01 00:00:00", + "period_ending": "2013-01-01 00:00:00", + "total_errors": 0, + "total_instances": 0 + } +} \ No newline at end of file diff --git a/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml new file mode 100644 index 000000000000..82d157fb95b5 --- /dev/null +++ b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml @@ -0,0 +1,16 @@ + + + 0 + 0 + + 0 + 0 + 1 + + 107debd115684f098d4c73ffac7ec515 + + 0 of 1 hosts done. 0 errors. + 2013-01-01 00:00:00 + 2012-12-01 00:00:00 + 1 + \ No newline at end of file diff --git a/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json new file mode 100644 index 000000000000..2b5fe54c184b --- /dev/null +++ b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json @@ -0,0 +1,17 @@ +{ + "instance_usage_audit_log": { + "hosts_not_run": [ + "8e33da2b48684ef3ab165444d6a7384c" + ], + "log": {}, + "num_hosts": 1, + "num_hosts_done": 0, + "num_hosts_not_run": 1, + "num_hosts_running": 0, + "overall_status": "0 of 1 hosts done. 0 errors.", + "period_beginning": "2012-06-01 00:00:00", + "period_ending": "2012-07-01 00:00:00", + "total_errors": 0, + "total_instances": 0 + } +} \ No newline at end of file diff --git a/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml new file mode 100644 index 000000000000..4536897373d4 --- /dev/null +++ b/doc/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml @@ -0,0 +1,16 @@ + + + 0 + 0 + + 0 + 0 + 1 + + 4b54478b73734afcbf0e2676a3303d1a + + 0 of 1 hosts done. 0 errors. + 2012-07-01 00:00:00 + 2012-06-01 00:00:00 + 1 + \ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json.tpl new file mode 100644 index 000000000000..6974f360fc79 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.json.tpl @@ -0,0 +1,17 @@ +{ + "instance_usage_audit_logs": { + "hosts_not_run": [ + "%(hostid)s" + ], + "log": {}, + "num_hosts": 1, + "num_hosts_done": 0, + "num_hosts_not_run": 1, + "num_hosts_running": 0, + "overall_status": "0 of 1 hosts done. 0 errors.", + "period_beginning": "%(timestamp)s", + "period_ending": "%(timestamp)s", + "total_errors": 0, + "total_instances": 0 + } +} diff --git a/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml.tpl new file mode 100644 index 000000000000..4eafa8b4aa86 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-index-get-resp.xml.tpl @@ -0,0 +1,16 @@ + + + 0 + 0 + + 0 + 0 + 1 + + %(hostid)s + + 0 of 1 hosts done. 0 errors. + %(timestamp)s + %(timestamp)s + 1 + diff --git a/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json.tpl new file mode 100644 index 000000000000..eda952304702 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.json.tpl @@ -0,0 +1,17 @@ +{ + "instance_usage_audit_log": { + "hosts_not_run": [ + "%(hostid)s" + ], + "log": {}, + "num_hosts": 1, + "num_hosts_done": 0, + "num_hosts_not_run": 1, + "num_hosts_running": 0, + "overall_status": "0 of 1 hosts done. 0 errors.", + "period_beginning": "%(timestamp)s", + "period_ending": "%(timestamp)s", + "total_errors": 0, + "total_instances": 0 + } +} diff --git a/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml.tpl new file mode 100644 index 000000000000..1ef243292a4f --- /dev/null +++ b/nova/tests/integrated/api_samples/os-instance_usage_audit_log/inst-usage-audit-log-show-get-resp.xml.tpl @@ -0,0 +1,16 @@ + + + 0 + 0 + + 0 + 0 + 1 + + %(hostid)s + + 0 of 1 hosts done. 0 errors. + %(timestamp)s + %(timestamp)s + 1 + diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 4cadbf9e5df1..080e4e92b792 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -292,7 +292,7 @@ class ApiSampleTestBase(integrated_helpers._IntegratedTestBase): # shouldn't be an issue for this case. 'timestamp': '\d{4}-[0,1]\d-[0-3]\d[ ,T]' '\d{2}:\d{2}:\d{2}' - '(Z|(\+|-)\d{2}:\d{2}|\.\d{6})', + '(Z|(\+|-)\d{2}:\d{2}|\.\d{6}|)', 'password': '[0-9a-zA-Z]{1,12}', 'ip': '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}', 'ip6': '([0-9a-zA-Z]{1,4}:){1,7}:?[0-9a-zA-Z]{1,4}', @@ -381,7 +381,6 @@ class ApiSamplesTrap(ApiSampleTestBase): do_not_approve_additions.append('os-floating-ip-dns') do_not_approve_additions.append('os-fping') do_not_approve_additions.append('os-hypervisors') - do_not_approve_additions.append('os-instance_usage_audit_log') do_not_approve_additions.append('os-networks') do_not_approve_additions.append('os-services') do_not_approve_additions.append('os-volumes') @@ -2688,3 +2687,29 @@ class FloatingIPPoolsSampleJsonTests(ApiSampleTestBase): class FloatingIPPoolsSampleXmlTests(FloatingIPPoolsSampleJsonTests): ctype = "xml" + + +class InstanceUsageAuditLogJsonTest(ApiSampleTestBase): + extension_name = ("nova.api.openstack.compute.contrib." + "instance_usage_audit_log.Instance_usage_audit_log") + + def test_show_instance_usage_audit_log(self): + response = self._do_get('os-instance_usage_audit_log/%s' % + urllib.quote('2012-07-05 10:00:00')) + self.assertEqual(response.status, 200) + subs = self._get_regexes() + subs['hostid'] = '[a-f0-9]+' + return self._verify_response('inst-usage-audit-log-show-get-resp', + subs, response) + + def test_index_instance_usage_audit_log(self): + response = self._do_get('os-instance_usage_audit_log') + self.assertEqual(response.status, 200) + subs = self._get_regexes() + subs['hostid'] = '[a-f0-9]+' + return self._verify_response('inst-usage-audit-log-index-get-resp', + subs, response) + + +class InstanceUsageAuditLogXmlTest(InstanceUsageAuditLogJsonTest): + ctype = 'xml'