summaryrefslogtreecommitdiff
path: root/nova/tests/api/openstack/compute/contrib/test_server_usage.py
diff options
context:
space:
mode:
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.py159
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()