Merge "give correct http error on getting non-existent policy"
This commit is contained in:
commit
2d76f0ca8e
|
@ -390,10 +390,12 @@ class Runtime (object):
|
|||
# Note(thread-safety): blocking function
|
||||
def persistent_get_policy(self, id_):
|
||||
# Note(thread-safety): blocking call
|
||||
policy = db_policy_rules.get_policy(id_)
|
||||
if not policy:
|
||||
return
|
||||
return policy.to_dict()
|
||||
try:
|
||||
policy = db_policy_rules.get_policy(id_)
|
||||
return policy.to_dict()
|
||||
except KeyError:
|
||||
raise exception.NotFound(
|
||||
'No policy found with name or id %s' % id_)
|
||||
|
||||
# Note(thread-safety): blocking function
|
||||
def persistent_get_rule(self, id_, policy_name):
|
||||
|
|
|
@ -85,8 +85,10 @@ class TestPolicyModel(base.SqlTestCase):
|
|||
self.assertEqual(expected_ret, ret)
|
||||
|
||||
def test_get_invalid_item(self):
|
||||
self.assertRaises(KeyError, self.policy_model.get_item,
|
||||
'invalid-id', {})
|
||||
self.assertRaisesRegexp(webservice.DataModelException,
|
||||
'^Not Found',
|
||||
self.policy_model.get_item,
|
||||
'invalid-id', {})
|
||||
|
||||
@mock.patch('oslo_utils.uuidutils.generate_uuid')
|
||||
def test_add_item(self, patched_gen_uuid):
|
||||
|
@ -157,8 +159,10 @@ class TestPolicyModel(base.SqlTestCase):
|
|||
|
||||
ret = self.policy_model.delete_item(policy_id, {})
|
||||
self.assertEqual(expected_ret, ret)
|
||||
self.assertRaises(KeyError, self.policy_model.get_item,
|
||||
self.policy['id'], {})
|
||||
self.assertRaisesRegexp(webservice.DataModelException,
|
||||
'^Not Found',
|
||||
self.policy_model.get_item,
|
||||
self.policy['id'], {})
|
||||
|
||||
# check that deleting the policy also deletes the rules
|
||||
self.assertRaises(webservice.DataModelException,
|
||||
|
|
Loading…
Reference in New Issue