From 3971c4ee489fb3b059448eac173d76a87e202e66 Mon Sep 17 00:00:00 2001 From: Giampaolo Lauria Date: Tue, 12 Mar 2013 16:10:08 -0400 Subject: Fix exception message in Networks API extension Raise exception indicating VLAN is disabled when trying to associate a network w/ a tenant in cases where VLAN is not the network manager Added unit test case Fixes bug 1075790 Change-Id: I3dcac09fbf06d9f64b18cc52d0b069dc9c0a7370 --- nova/tests/api/openstack/compute/contrib/test_networks.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/compute/contrib/test_networks.py b/nova/tests/api/openstack/compute/contrib/test_networks.py index 8238f9248..7bf871690 100644 --- a/nova/tests/api/openstack/compute/contrib/test_networks.py +++ b/nova/tests/api/openstack/compute/contrib/test_networks.py @@ -94,10 +94,14 @@ NEW_NETWORK = { class FakeNetworkAPI(object): _sentinel = object() + _vlan_is_disabled = False def __init__(self): self.networks = copy.deepcopy(FAKE_NETWORKS) + def disable_vlan(self): + self._vlan_is_disabled = True + def delete(self, context, network_id): for i, network in enumerate(self.networks): if network['id'] == network_id: @@ -125,6 +129,8 @@ class FakeNetworkAPI(object): def add_network_to_project(self, context, project_id, network_uuid=None): + if self._vlan_is_disabled: + raise NotImplementedError() if network_uuid: for network in self.networks: if network.get('project_id', None) is None: @@ -274,6 +280,13 @@ class NetworksTest(test.TestCase): self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, 100) + def test_network_add_vlan_disabled(self): + self.fake_network_api.disable_vlan() + uuid = FAKE_NETWORKS[1]['uuid'] + req = fakes.HTTPRequest.blank('/v2/1234/os-networks/add') + self.assertRaises(webob.exc.HTTPNotImplemented, + self.controller.add, req, {'id': uuid}) + def test_network_add(self): uuid = FAKE_NETWORKS[1]['uuid'] req = fakes.HTTPRequest.blank('/v2/1234/os-networks/add') -- cgit