diff options
Diffstat (limited to 'nova/tests/api/openstack/compute/contrib/test_fixed_ips.py')
-rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_fixed_ips.py | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_fixed_ips.py b/nova/tests/api/openstack/compute/contrib/test_fixed_ips.py deleted file mode 100644 index 9e97c294b3..0000000000 --- a/nova/tests/api/openstack/compute/contrib/test_fixed_ips.py +++ /dev/null @@ -1,256 +0,0 @@ -# Copyright 2012 IBM Corp. -# -# 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 webob - -from nova.api.openstack.compute.contrib import fixed_ips as fixed_ips_v2 -from nova.api.openstack.compute.plugins.v3 import fixed_ips as fixed_ips_v21 -from nova import context -from nova import db -from nova import exception -from nova.i18n import _ -from nova import test -from nova.tests.api.openstack import fakes -from nova.tests.objects import test_network - - -fake_fixed_ips = [{'id': 1, - 'address': '192.168.1.1', - 'network_id': 1, - 'virtual_interface_id': 1, - 'instance_uuid': '1', - 'allocated': False, - 'leased': False, - 'reserved': False, - 'host': None, - 'instance': None, - 'network': test_network.fake_network, - 'created_at': None, - 'updated_at': None, - 'deleted_at': None, - 'deleted': False}, - {'id': 2, - 'address': '192.168.1.2', - 'network_id': 1, - 'virtual_interface_id': 2, - 'instance_uuid': '2', - 'allocated': False, - 'leased': False, - 'reserved': False, - 'host': None, - 'instance': None, - 'network': test_network.fake_network, - 'created_at': None, - 'updated_at': None, - 'deleted_at': None, - 'deleted': False}, - {'id': 3, - 'address': '10.0.0.2', - 'network_id': 1, - 'virtual_interface_id': 3, - 'instance_uuid': '3', - 'allocated': False, - 'leased': False, - 'reserved': False, - 'host': None, - 'instance': None, - 'network': test_network.fake_network, - 'created_at': None, - 'updated_at': None, - 'deleted_at': None, - 'deleted': True}, - ] - - -def fake_fixed_ip_get_by_address(context, address, columns_to_join=None): - if address == 'inv.ali.d.ip': - msg = _("Invalid fixed IP Address %s in request") % address - raise exception.FixedIpInvalid(msg) - for fixed_ip in fake_fixed_ips: - if fixed_ip['address'] == address and not fixed_ip['deleted']: - return fixed_ip - raise exception.FixedIpNotFoundForAddress(address=address) - - -def fake_fixed_ip_get_by_address_detailed(context, address): - network = {'id': 1, - 'cidr': "192.168.1.0/24"} - for fixed_ip in fake_fixed_ips: - if fixed_ip['address'] == address and not fixed_ip['deleted']: - return (fixed_ip, FakeModel(network), None) - raise exception.FixedIpNotFoundForAddress(address=address) - - -def fake_fixed_ip_update(context, address, values): - fixed_ip = fake_fixed_ip_get_by_address(context, address) - if fixed_ip is None: - raise exception.FixedIpNotFoundForAddress(address=address) - else: - for key in values: - fixed_ip[key] = values[key] - - -class FakeModel(object): - """Stubs out for model.""" - def __init__(self, values): - self.values = values - - def __getattr__(self, name): - return self.values[name] - - def __getitem__(self, key): - if key in self.values: - return self.values[key] - else: - raise NotImplementedError() - - def __repr__(self): - return '<FakeModel: %s>' % self.values - - -def fake_network_get_all(context): - network = {'id': 1, - 'cidr': "192.168.1.0/24"} - return [FakeModel(network)] - - -class FixedIpTestV21(test.NoDBTestCase): - - fixed_ips = fixed_ips_v21 - url = '/v2/fake/os-fixed-ips' - - def setUp(self): - super(FixedIpTestV21, self).setUp() - - self.stubs.Set(db, "fixed_ip_get_by_address", - fake_fixed_ip_get_by_address) - self.stubs.Set(db, "fixed_ip_get_by_address_detailed", - fake_fixed_ip_get_by_address_detailed) - self.stubs.Set(db, "fixed_ip_update", fake_fixed_ip_update) - - self.context = context.get_admin_context() - self.controller = self.fixed_ips.FixedIPController() - - def _assert_equal(self, ret, exp): - self.assertEqual(ret.wsgi_code, exp) - - def _get_reserve_action(self): - return self.controller.reserve - - def _get_unreserve_action(self): - return self.controller.unreserve - - def test_fixed_ips_get(self): - req = fakes.HTTPRequest.blank('%s/192.168.1.1' % self.url) - res_dict = self.controller.show(req, '192.168.1.1') - response = {'fixed_ip': {'cidr': '192.168.1.0/24', - 'hostname': None, - 'host': None, - 'address': '192.168.1.1'}} - self.assertEqual(response, res_dict) - - def test_fixed_ips_get_bad_ip_fail(self): - req = fakes.HTTPRequest.blank('%s/10.0.0.1' % self.url) - self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, - '10.0.0.1') - - def test_fixed_ips_get_invalid_ip_address(self): - req = fakes.HTTPRequest.blank('%s/inv.ali.d.ip' % self.url) - self.assertRaises(webob.exc.HTTPBadRequest, self.controller.show, req, - 'inv.ali.d.ip') - - def test_fixed_ips_get_deleted_ip_fail(self): - req = fakes.HTTPRequest.blank('%s/10.0.0.2' % self.url) - self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, - '10.0.0.2') - - def test_fixed_ip_reserve(self): - fake_fixed_ips[0]['reserved'] = False - body = {'reserve': None} - req = fakes.HTTPRequest.blank('%s/192.168.1.1/action' % self.url) - action = self._get_reserve_action() - result = action(req, "192.168.1.1", body) - - self._assert_equal(result or action, 202) - self.assertEqual(fake_fixed_ips[0]['reserved'], True) - - def test_fixed_ip_reserve_bad_ip(self): - body = {'reserve': None} - req = fakes.HTTPRequest.blank('%s/10.0.0.1/action' % self.url) - action = self._get_reserve_action() - - self.assertRaises(webob.exc.HTTPNotFound, action, req, - '10.0.0.1', body) - - def test_fixed_ip_reserve_invalid_ip_address(self): - body = {'reserve': None} - req = fakes.HTTPRequest.blank('%s/inv.ali.d.ip/action' % self.url) - action = self._get_reserve_action() - - self.assertRaises(webob.exc.HTTPBadRequest, - action, req, 'inv.ali.d.ip', body) - - def test_fixed_ip_reserve_deleted_ip(self): - body = {'reserve': None} - action = self._get_reserve_action() - - req = fakes.HTTPRequest.blank('%s/10.0.0.2/action' % self.url) - self.assertRaises(webob.exc.HTTPNotFound, action, req, - '10.0.0.2', body) - - def test_fixed_ip_unreserve(self): - fake_fixed_ips[0]['reserved'] = True - body = {'unreserve': None} - req = fakes.HTTPRequest.blank('%s/192.168.1.1/action' % self.url) - action = self._get_unreserve_action() - result = action(req, "192.168.1.1", body) - - self._assert_equal(result or action, 202) - self.assertEqual(fake_fixed_ips[0]['reserved'], False) - - def test_fixed_ip_unreserve_bad_ip(self): - body = {'unreserve': None} - req = fakes.HTTPRequest.blank('%s/10.0.0.1/action' % self.url) - action = self._get_unreserve_action() - - self.assertRaises(webob.exc.HTTPNotFound, action, req, - '10.0.0.1', body) - - def test_fixed_ip_unreserve_invalid_ip_address(self): - body = {'unreserve': None} - req = fakes.HTTPRequest.blank('%s/inv.ali.d.ip/action' % self.url) - action = self._get_unreserve_action() - self.assertRaises(webob.exc.HTTPBadRequest, - action, req, 'inv.ali.d.ip', body) - - def test_fixed_ip_unreserve_deleted_ip(self): - body = {'unreserve': None} - req = fakes.HTTPRequest.blank('%s/10.0.0.2/action' % self.url) - action = self._get_unreserve_action() - self.assertRaises(webob.exc.HTTPNotFound, action, req, - '10.0.0.2', body) - - -class FixedIpTestV2(FixedIpTestV21): - - fixed_ips = fixed_ips_v2 - - def _assert_equal(self, ret, exp): - self.assertEqual(ret.status, '202 Accepted') - - def _get_reserve_action(self): - return self.controller.action - - def _get_unreserve_action(self): - return self.controller.action |