diff options
-rw-r--r-- | heat/api/openstack/v1/events.py | 8 | ||||
-rw-r--r-- | heat/api/openstack/v1/resources.py | 24 | ||||
-rw-r--r-- | heat/api/openstack/v1/software_configs.py | 4 | ||||
-rw-r--r-- | heat/api/openstack/v1/software_deployments.py | 4 | ||||
-rw-r--r-- | heat/api/openstack/v1/stacks.py | 18 | ||||
-rw-r--r-- | heat/api/openstack/v1/util.py | 10 | ||||
-rw-r--r-- | heat/tests/api/openstack_v1/test_events.py | 4 | ||||
-rw-r--r-- | heat/tests/api/openstack_v1/test_software_deployments.py | 8 | ||||
-rw-r--r-- | heat/tests/api/openstack_v1/test_stacks.py | 8 | ||||
-rw-r--r-- | heat/tests/api/openstack_v1/test_util.py | 36 |
10 files changed, 62 insertions, 62 deletions
diff --git a/heat/api/openstack/v1/events.py b/heat/api/openstack/v1/events.py index 68af75bad..87aa000a8 100644 --- a/heat/api/openstack/v1/events.py +++ b/heat/api/openstack/v1/events.py @@ -109,21 +109,21 @@ class EventController(object): @util.registered_identified_stack def index(self, req, identity, resource_name=None): """Lists summary information for all events.""" - whitelist = { + param_types = { 'limit': util.PARAM_TYPE_SINGLE, 'marker': util.PARAM_TYPE_SINGLE, 'sort_dir': util.PARAM_TYPE_SINGLE, 'sort_keys': util.PARAM_TYPE_MULTI, 'nested_depth': util.PARAM_TYPE_SINGLE, } - filter_whitelist = { + filter_param_types = { 'resource_status': util.PARAM_TYPE_MIXED, 'resource_action': util.PARAM_TYPE_MIXED, 'resource_name': util.PARAM_TYPE_MIXED, 'resource_type': util.PARAM_TYPE_MIXED, } - params = util.get_allowed_params(req.params, whitelist) - filter_params = util.get_allowed_params(req.params, filter_whitelist) + params = util.get_allowed_params(req.params, param_types) + filter_params = util.get_allowed_params(req.params, filter_param_types) int_params = (rpc_api.PARAM_LIMIT, rpc_api.PARAM_NESTED_DEPTH) try: diff --git a/heat/api/openstack/v1/resources.py b/heat/api/openstack/v1/resources.py index b4befc53c..199f778e4 100644 --- a/heat/api/openstack/v1/resources.py +++ b/heat/api/openstack/v1/resources.py @@ -96,18 +96,18 @@ class ResourceController(object): def index(self, req, identity): """Lists information for all resources.""" - whitelist = { - 'type': 'mixed', - 'status': 'mixed', - 'name': 'mixed', - 'action': 'mixed', - 'id': 'mixed', - 'physical_resource_id': 'mixed' + param_types = { + 'type': util.PARAM_TYPE_MIXED, + 'status': util.PARAM_TYPE_MIXED, + 'name': util.PARAM_TYPE_MIXED, + 'action': util.PARAM_TYPE_MIXED, + 'id': util.PARAM_TYPE_MIXED, + 'physical_resource_id': util.PARAM_TYPE_MIXED, } invalid_keys = (set(req.params.keys()) - - set(list(whitelist) + [rpc_api.PARAM_NESTED_DEPTH, - rpc_api.PARAM_WITH_DETAIL])) + set(list(param_types) + [rpc_api.PARAM_NESTED_DEPTH, + rpc_api.PARAM_WITH_DETAIL])) if invalid_keys: raise exc.HTTPBadRequest(_('Invalid filter parameters %s') % str(list(invalid_keys))) @@ -121,7 +121,7 @@ class ResourceController(object): param_utils.extract_bool, default=False) - params = util.get_allowed_params(req.params, whitelist) + params = util.get_allowed_params(req.params, param_types) res_list = self.rpc_client.list_stack_resources(req.context, identity, @@ -135,8 +135,8 @@ class ResourceController(object): def show(self, req, identity, resource_name): """Gets detailed information for a resource.""" - whitelist = {'with_attr': util.PARAM_TYPE_MULTI} - params = util.get_allowed_params(req.params, whitelist) + param_types = {'with_attr': util.PARAM_TYPE_MULTI} + params = util.get_allowed_params(req.params, param_types) if 'with_attr' not in params: params['with_attr'] = None res = self.rpc_client.describe_stack_resource(req.context, diff --git a/heat/api/openstack/v1/software_configs.py b/heat/api/openstack/v1/software_configs.py index 1e8a426ef..41f9486e4 100644 --- a/heat/api/openstack/v1/software_configs.py +++ b/heat/api/openstack/v1/software_configs.py @@ -44,11 +44,11 @@ class SoftwareConfigController(object): raise exc.HTTPBadRequest(str(e)) def _index(self, req, use_admin_cnxt=False): - whitelist = { + param_types = { 'limit': util.PARAM_TYPE_SINGLE, 'marker': util.PARAM_TYPE_SINGLE } - params = util.get_allowed_params(req.params, whitelist) + params = util.get_allowed_params(req.params, param_types) if use_admin_cnxt: cnxt = context.get_admin_context() diff --git a/heat/api/openstack/v1/software_deployments.py b/heat/api/openstack/v1/software_deployments.py index 99aca5785..725b4ef1e 100644 --- a/heat/api/openstack/v1/software_deployments.py +++ b/heat/api/openstack/v1/software_deployments.py @@ -37,10 +37,10 @@ class SoftwareDeploymentController(object): @util.registered_policy_enforce def index(self, req): """List software deployments.""" - whitelist = { + param_types = { 'server_id': util.PARAM_TYPE_SINGLE, } - params = util.get_allowed_params(req.params, whitelist) + params = util.get_allowed_params(req.params, param_types) sds = self.rpc_client.list_software_deployments(req.context, **params) return {'software_deployments': sds} diff --git a/heat/api/openstack/v1/stacks.py b/heat/api/openstack/v1/stacks.py index 8830c22b3..d84adbc92 100644 --- a/heat/api/openstack/v1/stacks.py +++ b/heat/api/openstack/v1/stacks.py @@ -204,7 +204,7 @@ class StackController(object): raise exc.HTTPBadRequest(str(e)) def _index(self, req, use_admin_cnxt=False): - filter_whitelist = { + filter_param_types = { # usage of keys in this list are not encouraged, please use # rpc_api.STACK_KEYS instead 'id': util.PARAM_TYPE_MIXED, @@ -215,7 +215,7 @@ class StackController(object): 'username': util.PARAM_TYPE_MIXED, 'owner_id': util.PARAM_TYPE_MIXED, } - whitelist = { + param_types = { 'limit': util.PARAM_TYPE_SINGLE, 'marker': util.PARAM_TYPE_SINGLE, 'sort_dir': util.PARAM_TYPE_SINGLE, @@ -228,7 +228,7 @@ class StackController(object): 'not_tags': util.PARAM_TYPE_SINGLE, 'not_tags_any': util.PARAM_TYPE_SINGLE, } - params = util.get_allowed_params(req.params, whitelist) + params = util.get_allowed_params(req.params, param_types) stack_keys = dict.fromkeys(rpc_api.STACK_KEYS, util.PARAM_TYPE_MIXED) unsupported = ( rpc_api.STACK_ID, # not user visible @@ -246,7 +246,7 @@ class StackController(object): for key in unsupported: stack_keys.pop(key) # downward compatibility - stack_keys.update(filter_whitelist) + stack_keys.update(filter_param_types) filter_params = util.get_allowed_params(req.params, stack_keys) show_deleted = False @@ -519,8 +519,8 @@ class StackController(object): raise exc.HTTPAccepted() def _param_show_nested(self, req): - whitelist = {'show_nested': 'single'} - params = util.get_allowed_params(req.params, whitelist) + param_types = {'show_nested': util.PARAM_TYPE_SINGLE} + params = util.get_allowed_params(req.params, param_types) p_name = 'show_nested' if p_name in params: @@ -604,9 +604,9 @@ class StackController(object): data = InstantiationData(body) - whitelist = {'show_nested': util.PARAM_TYPE_SINGLE, - 'ignore_errors': util.PARAM_TYPE_SINGLE} - params = util.get_allowed_params(req.params, whitelist) + param_types = {'show_nested': util.PARAM_TYPE_SINGLE, + 'ignore_errors': util.PARAM_TYPE_SINGLE} + params = util.get_allowed_params(req.params, param_types) show_nested = False p_name = rpc_api.PARAM_SHOW_NESTED diff --git a/heat/api/openstack/v1/util.py b/heat/api/openstack/v1/util.py index 8aec45ddc..86df81eb6 100644 --- a/heat/api/openstack/v1/util.py +++ b/heat/api/openstack/v1/util.py @@ -86,22 +86,22 @@ PARAM_TYPES = ( ) -def get_allowed_params(params, whitelist): - """Extract from ``params`` all entries listed in ``whitelist``. +def get_allowed_params(params, param_types): + """Extract from ``params`` all entries listed in ``param_types``. The returning dict will contain an entry for a key if, and only if, - there's an entry in ``whitelist`` for that key and at least one entry in + there's an entry in ``param_types`` for that key and at least one entry in ``params``. If ``params`` contains multiple entries for the same key, it will yield an array of values: ``{key: [v1, v2,...]}`` :param params: a NestedMultiDict from webob.Request.params - :param whitelist: an array of strings to whitelist + :param param_types: an dict of allowed parameters and their types :returns: a dict with {key: value} pairs """ allowed_params = {} - for key, get_type in whitelist.items(): + for key, get_type in param_types.items(): assert get_type in PARAM_TYPES value = None diff --git a/heat/tests/api/openstack_v1/test_events.py b/heat/tests/api/openstack_v1/test_events.py index 08d53761b..22e0eecd9 100644 --- a/heat/tests/api/openstack_v1/test_events.py +++ b/heat/tests/api/openstack_v1/test_events.py @@ -374,7 +374,7 @@ class EventControllerTest(tools.ControllerTest, common.HeatTestCase): ) @mock.patch.object(rpc_client.EngineClient, 'call') - def test_index_whitelists_pagination_params(self, mock_call, mock_enforce): + def test_index_bogus_pagination_param(self, mock_call, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) params = { 'limit': 10, @@ -428,7 +428,7 @@ class EventControllerTest(tools.ControllerTest, common.HeatTestCase): self.assertFalse(mock_call.called) @mock.patch.object(rpc_client.EngineClient, 'call') - def test_index_whitelist_filter_params(self, mock_call, mock_enforce): + def test_index_bogus_filter_param(self, mock_call, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) params = { 'resource_status': 'COMPLETE', diff --git a/heat/tests/api/openstack_v1/test_software_deployments.py b/heat/tests/api/openstack_v1/test_software_deployments.py index 3abe98f30..de91eab80 100644 --- a/heat/tests/api/openstack_v1/test_software_deployments.py +++ b/heat/tests/api/openstack_v1/test_software_deployments.py @@ -48,8 +48,8 @@ class SoftwareDeploymentControllerTest(tools.ControllerTest, resp = self.controller.index(req, tenant_id=self.tenant) self.assertEqual( {'software_deployments': []}, resp) - whitelist = mock_call.call_args[1] - self.assertEqual({}, whitelist) + params = mock_call.call_args[1] + self.assertEqual({}, params) server_id = 'fb322564-7927-473d-8aad-68ae7fbf2abf' req = self._get('/software_deployments', {'server_id': server_id}) with mock.patch.object( @@ -59,8 +59,8 @@ class SoftwareDeploymentControllerTest(tools.ControllerTest, resp = self.controller.index(req, tenant_id=self.tenant) self.assertEqual( {'software_deployments': []}, resp) - whitelist = mock_call.call_args[1] - self.assertEqual({'server_id': server_id}, whitelist) + params = mock_call.call_args[1] + self.assertEqual({'server_id': server_id}, params) @mock.patch.object(policy.Enforcer, 'enforce') def test_show(self, mock_enforce): diff --git a/heat/tests/api/openstack_v1/test_stacks.py b/heat/tests/api/openstack_v1/test_stacks.py index 5a9f41eea..67cd34a1b 100644 --- a/heat/tests/api/openstack_v1/test_stacks.py +++ b/heat/tests/api/openstack_v1/test_stacks.py @@ -313,7 +313,7 @@ class StackControllerTest(tools.ControllerTest, common.HeatTestCase): req.context, ('list_stacks', default_args), version='1.33') @mock.patch.object(rpc_client.EngineClient, 'call') - def test_index_whitelists_pagination_params(self, mock_call, mock_enforce): + def test_index_bogus_pagination_param(self, mock_call, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) params = { 'limit': 10, @@ -351,7 +351,7 @@ class StackControllerTest(tools.ControllerTest, common.HeatTestCase): self.assertFalse(mock_call.called) @mock.patch.object(rpc_client.EngineClient, 'call') - def test_index_whitelist_filter_params(self, mock_call, mock_enforce): + def test_index_bogus_filter_param(self, mock_call, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) params = { 'id': 'fake id', @@ -381,7 +381,7 @@ class StackControllerTest(tools.ControllerTest, common.HeatTestCase): 'parent': 'fake parent', 'stack_user_project_id': 'fake project id', 'tags': 'fake tags', - 'barlog': 'you shall not pass!' + 'balrog': 'you shall not pass!' } req = self._get('/stacks', params=params) mock_call.return_value = [] @@ -403,7 +403,7 @@ class StackControllerTest(tools.ControllerTest, common.HeatTestCase): for key in ('stack_identity', 'creation_time', 'updated_time', 'deletion_time', 'notification_topics', 'description', 'template_description', 'parameters', 'outputs', - 'capabilities', 'tags', 'barlog'): + 'capabilities', 'tags', 'balrog'): self.assertNotIn(key, filters) def test_index_returns_stack_count_if_with_count_is_true( diff --git a/heat/tests/api/openstack_v1/test_util.py b/heat/tests/api/openstack_v1/test_util.py index 39fc7e6f5..93930eccc 100644 --- a/heat/tests/api/openstack_v1/test_util.py +++ b/heat/tests/api/openstack_v1/test_util.py @@ -28,60 +28,60 @@ class TestGetAllowedParams(common.HeatTestCase): req = wsgi.Request({}) self.params = req.params.copy() self.params.add('foo', 'foo value') - self.whitelist = {'foo': util.PARAM_TYPE_SINGLE} + self.param_types = {'foo': util.PARAM_TYPE_SINGLE} def test_returns_empty_dict(self): - self.whitelist = {} + self.param_types = {} - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertEqual({}, result) - def test_only_adds_whitelisted_params_if_param_exists(self): - self.whitelist = {'foo': util.PARAM_TYPE_SINGLE} + def test_only_adds_allowed_param_if_param_exists(self): + self.param_types = {'foo': util.PARAM_TYPE_SINGLE} self.params.clear() - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertNotIn('foo', result) - def test_returns_only_whitelisted_params(self): + def test_returns_only_allowed_params(self): self.params.add('bar', 'bar value') - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertIn('foo', result) self.assertNotIn('bar', result) def test_handles_single_value_params(self): - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertEqual('foo value', result['foo']) def test_handles_multiple_value_params(self): - self.whitelist = {'foo': util.PARAM_TYPE_MULTI} + self.param_types = {'foo': util.PARAM_TYPE_MULTI} self.params.add('foo', 'foo value 2') - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertEqual(2, len(result['foo'])) self.assertIn('foo value', result['foo']) self.assertIn('foo value 2', result['foo']) def test_handles_mixed_value_param_with_multiple_entries(self): - self.whitelist = {'foo': util.PARAM_TYPE_MIXED} + self.param_types = {'foo': util.PARAM_TYPE_MIXED} self.params.add('foo', 'foo value 2') - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertEqual(2, len(result['foo'])) self.assertIn('foo value', result['foo']) self.assertIn('foo value 2', result['foo']) def test_handles_mixed_value_param_with_single_entry(self): - self.whitelist = {'foo': util.PARAM_TYPE_MIXED} + self.param_types = {'foo': util.PARAM_TYPE_MIXED} - result = util.get_allowed_params(self.params, self.whitelist) + result = util.get_allowed_params(self.params, self.param_types) self.assertEqual('foo value', result['foo']) - def test_bogus_whitelist_items(self): - self.whitelist = {'foo': 'blah'} + def test_bogus_param_type(self): + self.param_types = {'foo': 'blah'} self.assertRaises(AssertionError, util.get_allowed_params, - self.params, self.whitelist) + self.params, self.param_types) class TestPolicyEnforce(common.HeatTestCase): |