From 20459979e0b37ad74190d77cb9b7574b012f8ac4 Mon Sep 17 00:00:00 2001 From: gong yong sheng Date: Fri, 21 Aug 2015 14:51:45 +0800 Subject: [PATCH] Add empty policy rule to get_rule_type action Without this empty policy rule, get_rule_type will use default, which will demand admin role or tenant_id in object. but rule_type has no tenant_id in its body. Change-Id: I92b1222fbcdc2efd13ca6f586cfefefc55b59189 Closes-bug: #1487324 --- etc/policy.json | 1 + neutron/tests/api/test_qos.py | 12 ++++++++++-- neutron/tests/etc/policy.json | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/etc/policy.json b/etc/policy.json index ac5a27ee8..920714258 100644 --- a/etc/policy.json +++ b/etc/policy.json @@ -186,6 +186,7 @@ "create_policy_bandwidth_limit_rule": "rule:admin_only", "delete_policy_bandwidth_limit_rule": "rule:admin_only", "update_policy_bandwidth_limit_rule": "rule:admin_only", + "get_rule_type": "rule:regular_user", "restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only", "create_rbac_policy": "", diff --git a/neutron/tests/api/test_qos.py b/neutron/tests/api/test_qos.py index 6b55afebe..3b67172c5 100644 --- a/neutron/tests/api/test_qos.py +++ b/neutron/tests/api/test_qos.py @@ -97,7 +97,15 @@ class QosTestJSON(base.BaseAdminNetworkTest): @test.attr(type='smoke') @test.idempotent_id('cf776f77-8d3d-49f2-8572-12d6a1557224') - def test_list_rule_types(self): + def test_list_admin_rule_types(self): + self._test_list_rule_types(self.admin_client) + + @test.attr(type='smoke') + @test.idempotent_id('49c8ea35-83a9-453a-bd23-239cf3b13929') + def test_list_regular_rule_types(self): + self._test_list_rule_types(self.client) + + def _test_list_rule_types(self, client): # List supported rule types # TODO(QoS): since in gate we run both ovs and linuxbridge ml2 drivers, # and since Linux Bridge ml2 driver does not have QoS support yet, ml2 @@ -111,7 +119,7 @@ class QosTestJSON(base.BaseAdminNetworkTest): expected_rule_types = [] expected_rule_details = ['type'] - rule_types = self.admin_client.list_qos_rule_types() + rule_types = client.list_qos_rule_types() actual_list_rule_types = rule_types['rule_types'] actual_rule_types = [rule['type'] for rule in actual_list_rule_types] diff --git a/neutron/tests/etc/policy.json b/neutron/tests/etc/policy.json index ac5a27ee8..920714258 100644 --- a/neutron/tests/etc/policy.json +++ b/neutron/tests/etc/policy.json @@ -186,6 +186,7 @@ "create_policy_bandwidth_limit_rule": "rule:admin_only", "delete_policy_bandwidth_limit_rule": "rule:admin_only", "update_policy_bandwidth_limit_rule": "rule:admin_only", + "get_rule_type": "rule:regular_user", "restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only", "create_rbac_policy": "", -- 2.45.2