summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2012-08-03 13:11:52 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2012-08-04 14:54:51 -0700
commit7aefc22f1e5ec6b272d89e6ed8343604ee96472a (patch)
treee30b127a9b0adcaa4ad5c0a3f6c63423f13a7de8 /nova/tests
parent80aa9f54d7935c21ae06da1d2b7292844beb5274 (diff)
Allow loaded extensions to be checked from servers
related to blueprint disable-server-extensions Adds an is_loaded method to the extension manager and passes the extension manager to the servers controller so that it can be used to enable optional post parameters. The extension manager is also saved in ExtensionDescriptors because they may need access to it if they are subclassing the servers Controller. Tests are included to verify that extension loading can be properly determined. Change-Id: Ie4effbb885370dc80d86ee13d27c9263f7f63cad
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/test_extensions.py4
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py10
2 files changed, 11 insertions, 3 deletions
diff --git a/nova/tests/api/openstack/compute/test_extensions.py b/nova/tests/api/openstack/compute/test_extensions.py
index c426a5727..32533936b 100644
--- a/nova/tests/api/openstack/compute/test_extensions.py
+++ b/nova/tests/api/openstack/compute/test_extensions.py
@@ -380,8 +380,8 @@ class ExtensionManagerTest(ExtensionTestCase):
app = compute.APIRouter()
ext_mgr = compute_extensions.ExtensionManager()
ext_mgr.register(InvalidExtension())
- self.assertTrue('FOXNSOX' in ext_mgr.extensions)
- self.assertTrue('THIRD' not in ext_mgr.extensions)
+ self.assertTrue(ext_mgr.is_loaded('FOXNSOX'))
+ self.assertFalse(ext_mgr.is_loaded('THIRD'))
class ActionExtensionTest(ExtensionTestCase):
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index 49af5bdfa..2cb146358 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -27,6 +27,7 @@ import nova.api.openstack.compute
from nova.api.openstack.compute import ips
from nova.api.openstack.compute import servers
from nova.api.openstack.compute import views
+from nova.api.openstack import extensions
from nova.api.openstack import xmlutil
import nova.compute.api
from nova.compute import instance_types
@@ -94,6 +95,7 @@ class MockSetAdminPassword(object):
class ServersControllerTest(test.TestCase):
+
def setUp(self):
super(ServersControllerTest, self).setUp()
self.flags(verbose=True, use_ipv6=False)
@@ -113,12 +115,18 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(nova.db, 'instance_update_and_get_original',
instance_update)
- self.controller = servers.Controller()
+ self.ext_mgr = extensions.ExtensionManager()
+ self.controller = servers.Controller(self.ext_mgr)
self.ips_controller = ips.Controller()
fake_network.stub_out_nw_api_get_instance_nw_info(self.stubs,
spectacular=True)
+ def test_can_check_loaded_extensions(self):
+ self.ext_mgr.extensions = {'os-fake': None}
+ self.assertTrue(self.controller.ext_mgr.is_loaded('os-fake'))
+ self.assertFalse(self.controller.ext_mgr.is_loaded('os-not-loaded'))
+
def test_requested_networks_prefix(self):
uuid = 'br-00000000-0000-0000-0000-000000000000'
requested_networks = [{'uuid': uuid}]