diff options
Diffstat (limited to 'nova/tests/api/openstack/compute/contrib/test_server_usage.py')
-rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_server_usage.py | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_server_usage.py b/nova/tests/api/openstack/compute/contrib/test_server_usage.py deleted file mode 100644 index 52844191f3..0000000000 --- a/nova/tests/api/openstack/compute/contrib/test_server_usage.py +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2013 OpenStack Foundation -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import datetime - -from lxml import etree -from oslo.serialization import jsonutils -from oslo.utils import timeutils - -from nova.api.openstack.compute.contrib import server_usage -from nova import compute -from nova import db -from nova import exception -from nova import objects -from nova.objects import instance as instance_obj -from nova import test -from nova.tests.api.openstack import fakes -from nova.tests import fake_instance - -UUID1 = '00000000-0000-0000-0000-000000000001' -UUID2 = '00000000-0000-0000-0000-000000000002' -UUID3 = '00000000-0000-0000-0000-000000000003' - -DATE1 = datetime.datetime(year=2013, month=4, day=5, hour=12) -DATE2 = datetime.datetime(year=2013, month=4, day=5, hour=13) -DATE3 = datetime.datetime(year=2013, month=4, day=5, hour=14) - - -def fake_compute_get(*args, **kwargs): - inst = fakes.stub_instance(1, uuid=UUID3, launched_at=DATE1, - terminated_at=DATE2) - return fake_instance.fake_instance_obj(args[1], **inst) - - -def fake_compute_get_all(*args, **kwargs): - db_list = [ - fakes.stub_instance(2, uuid=UUID1, launched_at=DATE2, - terminated_at=DATE3), - fakes.stub_instance(3, uuid=UUID2, launched_at=DATE1, - terminated_at=DATE3), - ] - fields = instance_obj.INSTANCE_DEFAULT_FIELDS - return instance_obj._make_instance_list(args[1], - objects.InstanceList(), - db_list, fields) - - -class ServerUsageTestV21(test.TestCase): - content_type = 'application/json' - prefix = 'OS-SRV-USG:' - _prefix = "/v2/fake" - - def setUp(self): - super(ServerUsageTestV21, self).setUp() - fakes.stub_out_nw_api(self.stubs) - self.stubs.Set(compute.api.API, 'get', fake_compute_get) - self.stubs.Set(compute.api.API, 'get_all', fake_compute_get_all) - self.flags( - osapi_compute_extension=[ - 'nova.api.openstack.compute.contrib.select_extensions'], - osapi_compute_ext_list=['Server_usage']) - return_server = fakes.fake_instance_get() - self.stubs.Set(db, 'instance_get_by_uuid', return_server) - - def _make_request(self, url): - req = fakes.HTTPRequest.blank(url) - req.accept = self.content_type - res = req.get_response(self._get_app()) - return res - - def _get_app(self): - return fakes.wsgi_app_v21(init_only=('servers', 'os-server-usage')) - - def _get_server(self, body): - return jsonutils.loads(body).get('server') - - def _get_servers(self, body): - return jsonutils.loads(body).get('servers') - - def assertServerUsage(self, server, launched_at, terminated_at): - resp_launched_at = timeutils.parse_isotime( - server.get('%slaunched_at' % self.prefix)) - self.assertEqual(timeutils.normalize_time(resp_launched_at), - launched_at) - resp_terminated_at = timeutils.parse_isotime( - server.get('%sterminated_at' % self.prefix)) - self.assertEqual(timeutils.normalize_time(resp_terminated_at), - terminated_at) - - def test_show(self): - url = self._prefix + ('/servers/%s' % UUID3) - res = self._make_request(url) - - self.assertEqual(res.status_int, 200) - now = timeutils.utcnow() - timeutils.set_time_override(now) - self.assertServerUsage(self._get_server(res.body), - launched_at=DATE1, - terminated_at=DATE2) - - def test_detail(self): - url = self._prefix + '/servers/detail' - res = self._make_request(url) - - self.assertEqual(res.status_int, 200) - servers = self._get_servers(res.body) - self.assertServerUsage(servers[0], - launched_at=DATE2, - terminated_at=DATE3) - self.assertServerUsage(servers[1], - launched_at=DATE1, - terminated_at=DATE3) - - def test_no_instance_passthrough_404(self): - - def fake_compute_get(*args, **kwargs): - raise exception.InstanceNotFound(instance_id='fake') - - self.stubs.Set(compute.api.API, 'get', fake_compute_get) - url = self._prefix + '/servers/70f6db34-de8d-4fbd-aafb-4065bdfa6115' - res = self._make_request(url) - - self.assertEqual(res.status_int, 404) - - -class ServerUsageTestV20(ServerUsageTestV21): - - def setUp(self): - super(ServerUsageTestV20, self).setUp() - self.flags( - osapi_compute_extension=[ - 'nova.api.openstack.compute.contrib.select_extensions'], - osapi_compute_ext_list=['Server_usage']) - - def _get_app(self): - return fakes.wsgi_app(init_only=('servers',)) - - -class ServerUsageXmlTest(ServerUsageTestV20): - content_type = 'application/xml' - prefix = '{%s}' % server_usage.Server_usage.namespace - - def _get_server(self, body): - return etree.XML(body) - - def _get_servers(self, body): - return etree.XML(body).getchildren() |