summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-01-24 19:32:49 +0000
committerGerrit Code Review <review@openstack.org>2012-01-24 19:32:49 +0000
commit8dfd968e83cbcdc0796caa44289144d38a6a5ce8 (patch)
treee0e2e571a9aae49fc71736ad034d8fb6ed31b0b0 /nova/tests
parentc88771d8202f9c1c3f7a7260dea200d902b3c3aa (diff)
parent9cb5f547dc6f3242edf393928dbc14b7cbfbbdd4 (diff)
Merge "Remove admin_only ext attr in favor of authz"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_accounts.py8
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_admin_actions.py6
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_cloudpipe.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_deferred_delete.py3
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_extendedstatus.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_hosts.py3
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_networks.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_server_action_list.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_server_diagnostics.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_users.py8
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_zones.py1
-rw-r--r--nova/tests/api/openstack/compute/test_extensions.py30
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py67
-rw-r--r--nova/tests/policy.json32
15 files changed, 48 insertions, 116 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_accounts.py b/nova/tests/api/openstack/compute/contrib/test_accounts.py
index dbf0e2600..6b820bd57 100644
--- a/nova/tests/api/openstack/compute/contrib/test_accounts.py
+++ b/nova/tests/api/openstack/compute/contrib/test_accounts.py
@@ -29,18 +29,12 @@ def fake_init(self):
self.manager = fakes.FakeAuthManager()
-def fake_admin_check(self, req):
- return True
-
-
class AccountsTest(test.TestCase):
def setUp(self):
super(AccountsTest, self).setUp()
- self.flags(verbose=True, allow_admin_api=True)
+ self.flags(verbose=True)
self.stubs.Set(accounts.Controller, '__init__',
fake_init)
- self.stubs.Set(accounts.Controller, '_check_admin',
- fake_admin_check)
fakes.FakeAuthManager.clear_fakes()
fakes.FakeAuthDatabase.data = {}
fakes.stub_out_networking(self.stubs)
diff --git a/nova/tests/api/openstack/compute/contrib/test_admin_actions.py b/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
index 3878ce676..f572b12d9 100644
--- a/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
+++ b/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
@@ -79,7 +79,6 @@ class AdminActionsTest(test.TestCase):
super(AdminActionsTest, self).setUp()
self.stubs.Set(compute.API, 'get', fake_compute_api_get)
self.UUID = utils.gen_uuid()
- self.flags(allow_admin_api=True)
for _method in self._methods:
self.stubs.Set(compute.API, _method, fake_compute_api)
@@ -122,8 +121,9 @@ class CreateBackupTests(test.TestCase):
self.stubs.Set(compute.API, 'get', fake_compute_api_get)
self.backup_stubs = fakes.stub_out_compute_api_backup(self.stubs)
- self.flags(allow_admin_api=True)
- self.app = compute_api.APIRouter()
+ router = compute_api.APIRouter()
+ ext_middleware = extensions.ExtensionMiddleware(router)
+ self.app = wsgi.LazySerializationMiddleware(ext_middleware)
self.uuid = utils.gen_uuid()
diff --git a/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py b/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py
index 64b206aef..27341f199 100644
--- a/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py
+++ b/nova/tests/api/openstack/compute/contrib/test_cloudpipe.py
@@ -107,7 +107,6 @@ class CloudpipeTest(test.TestCase):
def setUp(self):
super(CloudpipeTest, self).setUp()
- self.flags(allow_admin_api=True)
self.app = fakes.wsgi_app()
inner_app = compute.APIRouter()
self.context = context.RequestContext('fake', 'fake', is_admin=True)
diff --git a/nova/tests/api/openstack/compute/contrib/test_deferred_delete.py b/nova/tests/api/openstack/compute/contrib/test_deferred_delete.py
index a864aa595..d02569e00 100644
--- a/nova/tests/api/openstack/compute/contrib/test_deferred_delete.py
+++ b/nova/tests/api/openstack/compute/contrib/test_deferred_delete.py
@@ -18,6 +18,7 @@
import webob
from nova.api.openstack.compute.contrib import deferred_delete
+import nova.context
from nova import compute
from nova import exception
from nova import test
@@ -34,7 +35,7 @@ class DeferredDeleteExtensionTest(test.TestCase):
self.extension = deferred_delete.DeferredDeleteController()
self.fake_input_dict = {}
self.fake_uuid = 'fake_uuid'
- self.fake_context = 'fake_context'
+ self.fake_context = nova.context.RequestContext('fake', 'fake')
self.fake_req = FakeRequest(self.fake_context)
def test_force_delete(self):
diff --git a/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py b/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py
index dc7f0cefa..738ab8290 100644
--- a/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py
+++ b/nova/tests/api/openstack/compute/contrib/test_extendedstatus.py
@@ -41,7 +41,6 @@ class ExtendedStatusTest(test.TestCase):
self.uuid = '70f6db34-de8d-4fbd-aafb-4065bdfa6114'
self.url = '/v2/fake/servers/%s' % self.uuid
fakes.stub_out_nw_api(self.stubs)
- self.flags(allow_admin_api=True)
self.stubs.Set(compute.api.API, 'routing_get', fake_compute_get)
def _make_request(self):
diff --git a/nova/tests/api/openstack/compute/contrib/test_hosts.py b/nova/tests/api/openstack/compute/contrib/test_hosts.py
index e6a91477e..af4818c90 100644
--- a/nova/tests/api/openstack/compute/contrib/test_hosts.py
+++ b/nova/tests/api/openstack/compute/contrib/test_hosts.py
@@ -94,17 +94,14 @@ class HostTestCase(test.TestCase):
self.assertEqual(result_c2["status"], "disabled")
def test_host_startup(self):
- self.flags(allow_admin_api=True)
result = self.controller.startup(self.req, "host_c1")
self.assertEqual(result["power_action"], "startup")
def test_host_shutdown(self):
- self.flags(allow_admin_api=True)
result = self.controller.shutdown(self.req, "host_c1")
self.assertEqual(result["power_action"], "shutdown")
def test_host_reboot(self):
- self.flags(allow_admin_api=True)
result = self.controller.reboot(self.req, "host_c1")
self.assertEqual(result["power_action"], "reboot")
diff --git a/nova/tests/api/openstack/compute/contrib/test_networks.py b/nova/tests/api/openstack/compute/contrib/test_networks.py
index 0eefca652..ed928348e 100644
--- a/nova/tests/api/openstack/compute/contrib/test_networks.py
+++ b/nova/tests/api/openstack/compute/contrib/test_networks.py
@@ -92,7 +92,6 @@ class NetworksTest(test.TestCase):
def setUp(self):
super(NetworksTest, self).setUp()
- self.flags(allow_admin_api=True)
self.fake_network_api = FakeNetworkAPI()
self.controller = networks.NetworkController(self.fake_network_api)
fakes.stub_out_networking(self.stubs)
diff --git a/nova/tests/api/openstack/compute/contrib/test_server_action_list.py b/nova/tests/api/openstack/compute/contrib/test_server_action_list.py
index ffd4f744d..2a175f1dd 100644
--- a/nova/tests/api/openstack/compute/contrib/test_server_action_list.py
+++ b/nova/tests/api/openstack/compute/contrib/test_server_action_list.py
@@ -47,7 +47,6 @@ class ServerActionsTest(test.TestCase):
def setUp(self):
super(ServerActionsTest, self).setUp()
- self.flags(allow_admin_api=True)
self.flags(verbose=True)
self.stubs.Set(nova.compute.API, 'get_actions', fake_get_actions)
self.stubs.Set(nova.compute.API, 'get', fake_instance_get)
diff --git a/nova/tests/api/openstack/compute/contrib/test_server_diagnostics.py b/nova/tests/api/openstack/compute/contrib/test_server_diagnostics.py
index 688940e3d..b18b5018d 100644
--- a/nova/tests/api/openstack/compute/contrib/test_server_diagnostics.py
+++ b/nova/tests/api/openstack/compute/contrib/test_server_diagnostics.py
@@ -40,7 +40,6 @@ class ServerDiagnosticsTest(test.TestCase):
def setUp(self):
super(ServerDiagnosticsTest, self).setUp()
- self.flags(allow_admin_api=True)
self.flags(verbose=True)
self.stubs.Set(nova.compute.API, 'get_diagnostics',
fake_get_diagnostics)
diff --git a/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py b/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
index b41773824..812aac297 100644
--- a/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
+++ b/nova/tests/api/openstack/compute/contrib/test_simple_tenant_usage.py
@@ -88,7 +88,6 @@ class SimpleTenantUsageTest(test.TestCase):
self.alt_user_context = context.RequestContext('fakeadmin_0',
'faketenant_1',
is_admin=False)
- FLAGS.allow_admin_api = True
def test_verify_index(self):
req = webob.Request.blank(
diff --git a/nova/tests/api/openstack/compute/contrib/test_users.py b/nova/tests/api/openstack/compute/contrib/test_users.py
index 5895f4f66..3dd0b3074 100644
--- a/nova/tests/api/openstack/compute/contrib/test_users.py
+++ b/nova/tests/api/openstack/compute/contrib/test_users.py
@@ -26,18 +26,12 @@ def fake_init(self):
self.manager = fakes.FakeAuthManager()
-def fake_admin_check(self, req):
- return True
-
-
class UsersTest(test.TestCase):
def setUp(self):
super(UsersTest, self).setUp()
- self.flags(verbose=True, allow_admin_api=True)
+ self.flags(verbose=True)
self.stubs.Set(users.Controller, '__init__',
fake_init)
- self.stubs.Set(users.Controller, '_check_admin',
- fake_admin_check)
fakes.FakeAuthManager.clear_fakes()
fakes.FakeAuthManager.projects = dict(testacct=Project('testacct',
'testacct',
diff --git a/nova/tests/api/openstack/compute/contrib/test_zones.py b/nova/tests/api/openstack/compute/contrib/test_zones.py
index e23ea85e6..9f887cb0d 100644
--- a/nova/tests/api/openstack/compute/contrib/test_zones.py
+++ b/nova/tests/api/openstack/compute/contrib/test_zones.py
@@ -95,7 +95,6 @@ def zone_select(context, specs):
class ZonesTest(test.TestCase):
def setUp(self):
super(ZonesTest, self).setUp()
- self.flags(verbose=True, allow_admin_api=True)
fakes.stub_out_networking(self.stubs)
fakes.stub_out_rate_limiting(self.stubs)
diff --git a/nova/tests/api/openstack/compute/test_extensions.py b/nova/tests/api/openstack/compute/test_extensions.py
index 796880e1f..54d0e4625 100644
--- a/nova/tests/api/openstack/compute/test_extensions.py
+++ b/nova/tests/api/openstack/compute/test_extensions.py
@@ -150,7 +150,6 @@ class ExtensionControllerTest(ExtensionTestCase):
def setUp(self):
super(ExtensionControllerTest, self).setUp()
- self.flags(allow_admin_api=True)
self.ext_list = [
"Accounts",
"AdminActions",
@@ -355,19 +354,6 @@ class InvalidExtension(object):
alias = "THIRD"
-class AdminExtension(base_extensions.ExtensionDescriptor):
- """Admin-only extension"""
-
- name = "Admin Ext"
- alias = "ADMIN"
- namespace = "http://www.example.com/"
- updated = "2011-01-22T13:25:27-06:00"
- admin_only = True
-
- def __init__(self, *args, **kwargs):
- pass
-
-
class ExtensionManagerTest(ExtensionTestCase):
response_body = "Try to say this Mr. Knox, sir..."
@@ -388,22 +374,6 @@ class ExtensionManagerTest(ExtensionTestCase):
self.assertTrue('FOXNSOX' in ext_mgr.extensions)
self.assertTrue('THIRD' not in ext_mgr.extensions)
- def test_admin_extensions(self):
- self.flags(allow_admin_api=True)
- app = compute.APIRouter()
- ext_mgr = compute_extensions.ExtensionManager()
- ext_mgr.register(AdminExtension())
- self.assertTrue('FOXNSOX' in ext_mgr.extensions)
- self.assertTrue('ADMIN' in ext_mgr.extensions)
-
- def test_admin_extensions_no_admin_api(self):
- self.flags(allow_admin_api=False)
- app = compute.APIRouter()
- ext_mgr = compute_extensions.ExtensionManager()
- ext_mgr.register(AdminExtension())
- self.assertTrue('FOXNSOX' in ext_mgr.extensions)
- self.assertTrue('ADMIN' not in ext_mgr.extensions)
-
class ActionExtensionTest(ExtensionTestCase):
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index f545aeaec..c6c7fcc43 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -861,7 +861,6 @@ class ServersControllerTest(test.TestCase):
return [fakes.stub_instance(100, uuid=server_uuid)]
self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
- self.flags(allow_admin_api=False)
req = fakes.HTTPRequest.blank('/v2/fake/servers?image=12345')
servers = self.controller.index(req)['servers']
@@ -878,7 +877,6 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(nova.db, 'instance_get_all_by_filters',
fake_get_all)
- self.flags(allow_admin_api=True)
req = fakes.HTTPRequest.blank('/v2/fake/servers?tenant_id=fake',
use_admin_context=True)
@@ -897,7 +895,6 @@ class ServersControllerTest(test.TestCase):
return [fakes.stub_instance(100, uuid=server_uuid)]
self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
- self.flags(allow_admin_api=False)
req = fakes.HTTPRequest.blank('/v2/fake/servers?flavor=12345')
servers = self.controller.index(req)['servers']
@@ -915,7 +912,6 @@ class ServersControllerTest(test.TestCase):
return [fakes.stub_instance(100, uuid=server_uuid)]
self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
- self.flags(allow_admin_api=False)
req = fakes.HTTPRequest.blank('/v2/fake/servers?status=active')
servers = self.controller.index(req)['servers']
@@ -925,8 +921,8 @@ class ServersControllerTest(test.TestCase):
def test_get_servers_invalid_status(self):
"""Test getting servers by invalid status"""
- self.flags(allow_admin_api=False)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?status=unknown')
+ req = fakes.HTTPRequest.blank('/v2/fake/servers?status=unknown',
+ use_admin_context=False)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req)
def test_get_servers_allows_name(self):
@@ -939,7 +935,6 @@ class ServersControllerTest(test.TestCase):
return [fakes.stub_instance(100, uuid=server_uuid)]
self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
- self.flags(allow_admin_api=False)
req = fakes.HTTPRequest.blank('/v2/fake/servers?name=whee.*')
servers = self.controller.index(req)['servers']
@@ -972,47 +967,11 @@ class ServersControllerTest(test.TestCase):
req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % params)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req)
- def test_get_servers_unknown_or_admin_options1(self):
- """Test getting servers by admin-only or unknown options.
- This tests when admin_api is off. Make sure the admin and
- unknown options are stripped before they get to
- compute_api.get_all()
+ def test_get_servers_admin_filters_as_user(self):
+ """Test getting servers by admin-only or unknown options when
+ context is not admin. Make sure the admin and unknown options
+ are stripped before they get to compute_api.get_all()
"""
-
- self.flags(allow_admin_api=False)
-
- server_uuid = str(utils.gen_uuid())
-
- def fake_get_all(compute_self, context, search_opts=None):
- self.assertNotEqual(search_opts, None)
- # Allowed by user
- self.assertTrue('name' in search_opts)
- self.assertTrue('status' in search_opts)
- # Allowed only by admins with admin API on
- self.assertFalse('ip' in search_opts)
- self.assertFalse('unknown_option' in search_opts)
- return [fakes.stub_instance(100, uuid=server_uuid)]
-
- self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
-
- query_str = "name=foo&ip=10.*&status=active&unknown_option=meow"
- req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str,
- use_admin_context=True)
- res = self.controller.index(req)
-
- servers = res['servers']
- self.assertEqual(len(servers), 1)
- self.assertEqual(servers[0]['id'], server_uuid)
-
- def test_get_servers_unknown_or_admin_options2(self):
- """Test getting servers by admin-only or unknown options.
- This tests when admin_api is on, but context is a user.
- Make sure the admin and unknown options are stripped before
- they get to compute_api.get_all()
- """
-
- self.flags(allow_admin_api=True)
-
server_uuid = str(utils.gen_uuid())
def fake_get_all(compute_self, context, search_opts=None):
@@ -1035,14 +994,10 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(len(servers), 1)
self.assertEqual(servers[0]['id'], server_uuid)
- def test_get_servers_unknown_or_admin_options3(self):
- """Test getting servers by admin-only or unknown options.
- This tests when admin_api is on and context is admin.
- All options should be passed through to compute_api.get_all()
+ def test_get_servers_admin_options_as_admin(self):
+ """Test getting servers by admin-only or unknown options when
+ context is admin. All options should be passed
"""
-
- self.flags(allow_admin_api=True)
-
server_uuid = str(utils.gen_uuid())
def fake_get_all(compute_self, context, search_opts=None):
@@ -1069,8 +1024,6 @@ class ServersControllerTest(test.TestCase):
"""Test getting servers by ip with admin_api enabled and
admin context
"""
- self.flags(allow_admin_api=True)
-
server_uuid = str(utils.gen_uuid())
def fake_get_all(compute_self, context, search_opts=None):
@@ -1092,8 +1045,6 @@ class ServersControllerTest(test.TestCase):
"""Test getting servers by ip6 with admin_api enabled and
admin context
"""
- self.flags(allow_admin_api=True)
-
server_uuid = str(utils.gen_uuid())
def fake_get_all(compute_self, context, search_opts=None):
diff --git a/nova/tests/policy.json b/nova/tests/policy.json
index 807de6921..ff30cd43d 100644
--- a/nova/tests/policy.json
+++ b/nova/tests/policy.json
@@ -69,6 +69,38 @@
"compute:restore": [],
+ "compute_extension:accounts": [],
+ "compute_extension:admin_actions": [],
+ "compute_extension:cloudpipe": [],
+ "compute_extension:console_output": [],
+ "compute_extension:consoles": [],
+ "compute_extension:createserverext": [],
+ "compute_extension:deferred_delete": [],
+ "compute_extension:disk_config": [],
+ "compute_extension:extended_status": [],
+ "compute_extension:flavorextraspecs": [],
+ "compute_extension:floating_ip_dns": [],
+ "compute_extension:floating_ip_pools": [],
+ "compute_extension:floating_ips": [],
+ "compute_extension:hosts": [],
+ "compute_extension:keypairs": [],
+ "compute_extension:multinic": [],
+ "compute_extension:networks": [],
+ "compute_extension:quotas": [],
+ "compute_extension:rescue": [],
+ "compute_extension:security_groups": [],
+ "compute_extension:server_action_list": [],
+ "compute_extension:server_diagnostics": [],
+ "compute_extension:simple_tenant_usage": [],
+ "compute_extension:users": [],
+ "compute_extension:virtual_interfaces": [],
+ "compute_extension:virtual_storage_arrays": [],
+ "compute_extension:volumes": [],
+ "compute_extension:volumetypes": [],
+ "compute_extension:zones": [],
+
+
+
"volume:create": [],
"volume:get": [],
"volume:get_all": [],