DB layer suppress Forbidden to NotFound error
DB layer for metadef covers up a Forbidden error with NotFound in case trying to perform any operation on namespace which user does not own. This patch has removed this cover up so that end user will get appropriate error message. Change-Id: I9f05961c0b56efbede321271259848cfc96a98ee
This commit is contained in:
parent
cdd1f37263
commit
ac45f4d44a
@ -464,12 +464,8 @@ class MetadefNamespaceRepo(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get(self, namespace):
|
def get(self, namespace):
|
||||||
try:
|
db_api_namespace = self.db_api.metadef_namespace_get(
|
||||||
db_api_namespace = self.db_api.metadef_namespace_get(
|
self.context, namespace)
|
||||||
self.context, namespace)
|
|
||||||
except (exception.NotFound, exception.Forbidden):
|
|
||||||
msg = _('Could not find namespace %s') % namespace
|
|
||||||
raise exception.NotFound(msg)
|
|
||||||
return self._format_namespace_from_db(db_api_namespace)
|
return self._format_namespace_from_db(db_api_namespace)
|
||||||
|
|
||||||
def list(self, marker=None, limit=None, sort_key='created_at',
|
def list(self, marker=None, limit=None, sort_key='created_at',
|
||||||
|
@ -248,7 +248,7 @@ class TestMetadefRepo(test_utils.BaseTestCase):
|
|||||||
self.assertIn(fake_namespace, encodeutils.exception_to_unicode(exc))
|
self.assertIn(fake_namespace, encodeutils.exception_to_unicode(exc))
|
||||||
|
|
||||||
def test_get_namespace_forbidden(self):
|
def test_get_namespace_forbidden(self):
|
||||||
self.assertRaises(exception.NotFound,
|
self.assertRaises(exception.MetadefForbidden,
|
||||||
self.namespace_repo.get,
|
self.namespace_repo.get,
|
||||||
NAMESPACE3)
|
NAMESPACE3)
|
||||||
|
|
||||||
|
@ -451,7 +451,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
|
|
||||||
def test_namespace_show_non_visible(self):
|
def test_namespace_show_non_visible(self):
|
||||||
request = unit_test_utils.get_fake_request()
|
request = unit_test_utils.get_fake_request()
|
||||||
self.assertRaises(webob.exc.HTTPNotFound,
|
self.assertRaises(webob.exc.HTTPForbidden,
|
||||||
self.namespace_controller.show, request, NAMESPACE2)
|
self.namespace_controller.show, request, NAMESPACE2)
|
||||||
|
|
||||||
def test_namespace_delete(self):
|
def test_namespace_delete(self):
|
||||||
@ -500,7 +500,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
|
|
||||||
def test_namespace_delete_non_visible(self):
|
def test_namespace_delete_non_visible(self):
|
||||||
request = unit_test_utils.get_fake_request()
|
request = unit_test_utils.get_fake_request()
|
||||||
self.assertRaises(webob.exc.HTTPNotFound,
|
self.assertRaises(webob.exc.HTTPForbidden,
|
||||||
self.namespace_controller.delete, request,
|
self.namespace_controller.delete, request,
|
||||||
NAMESPACE2)
|
NAMESPACE2)
|
||||||
self.assertNotificationsLog([])
|
self.assertNotificationsLog([])
|
||||||
@ -843,7 +843,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
|
|
||||||
namespace = namespaces.Namespace()
|
namespace = namespaces.Namespace()
|
||||||
namespace.namespace = NAMESPACE2
|
namespace.namespace = NAMESPACE2
|
||||||
self.assertRaises(webob.exc.HTTPNotFound,
|
self.assertRaises(webob.exc.HTTPForbidden,
|
||||||
self.namespace_controller.update, request, namespace,
|
self.namespace_controller.update, request, namespace,
|
||||||
NAMESPACE2)
|
NAMESPACE2)
|
||||||
self.assertNotificationsLog([])
|
self.assertNotificationsLog([])
|
||||||
@ -936,7 +936,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
|
|
||||||
def test_property_show_non_existing_resource_type(self):
|
def test_property_show_non_existing_resource_type(self):
|
||||||
request = unit_test_utils.get_fake_request()
|
request = unit_test_utils.get_fake_request()
|
||||||
self.assertRaises(webob.exc.HTTPNotFound,
|
self.assertRaises(webob.exc.HTTPForbidden,
|
||||||
self.property_controller.show, request, NAMESPACE2,
|
self.property_controller.show, request, NAMESPACE2,
|
||||||
PROPERTY1, filters={'resource_type': 'test'})
|
PROPERTY1, filters={'resource_type': 'test'})
|
||||||
|
|
||||||
@ -1687,7 +1687,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
def test_resource_type_show_non_visible(self):
|
def test_resource_type_show_non_visible(self):
|
||||||
request = unit_test_utils.get_fake_request()
|
request = unit_test_utils.get_fake_request()
|
||||||
|
|
||||||
self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.show,
|
self.assertRaises(webob.exc.HTTPForbidden, self.rt_controller.show,
|
||||||
request, NAMESPACE2)
|
request, NAMESPACE2)
|
||||||
|
|
||||||
def test_resource_type_show_non_visible_admin(self):
|
def test_resource_type_show_non_visible_admin(self):
|
||||||
@ -1754,7 +1754,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
|
|||||||
|
|
||||||
def test_resource_type_association_delete_non_visible(self):
|
def test_resource_type_association_delete_non_visible(self):
|
||||||
request = unit_test_utils.get_fake_request(tenant=TENANT3)
|
request = unit_test_utils.get_fake_request(tenant=TENANT3)
|
||||||
self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.delete,
|
self.assertRaises(webob.exc.HTTPForbidden, self.rt_controller.delete,
|
||||||
request, NAMESPACE1, RESOURCE_TYPE1)
|
request, NAMESPACE1, RESOURCE_TYPE1)
|
||||||
self.assertNotificationsLog([])
|
self.assertNotificationsLog([])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user