|
@@ -20,19 +20,24 @@ class PermissionProvidersTests(TestCase):
|
|
|
self.assertTrue(not providers._providers)
|
|
|
self.assertTrue(not providers._providers_dict)
|
|
|
|
|
|
- # list call initializes providers
|
|
|
- providers_list = providers.list()
|
|
|
+ # public api errors on non-loaded object
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.get_obj_type_annotators(TestType())
|
|
|
|
|
|
- self.assertTrue(providers_list)
|
|
|
- self.assertTrue(providers._initialized)
|
|
|
- self.assertTrue(providers._providers)
|
|
|
- self.assertTrue(providers._providers_dict)
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.get_obj_type_serializers(TestType())
|
|
|
|
|
|
- # dict call initializes providers
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.list()
|
|
|
+
|
|
|
+ self.assertTrue(providers._initialized is False)
|
|
|
+ self.assertTrue(not providers._providers)
|
|
|
+ self.assertTrue(not providers._providers_dict)
|
|
|
+
|
|
|
+ # load initializes providers
|
|
|
providers = PermissionProviders()
|
|
|
- providers_dict = providers.dict()
|
|
|
+ providers.load()
|
|
|
|
|
|
- self.assertTrue(providers_dict)
|
|
|
self.assertTrue(providers._initialized)
|
|
|
self.assertTrue(providers._providers)
|
|
|
self.assertTrue(providers._providers_dict)
|
|
@@ -40,6 +45,13 @@ class PermissionProvidersTests(TestCase):
|
|
|
def test_list(self):
|
|
|
"""providers manager list() returns iterable of tuples"""
|
|
|
providers = PermissionProviders()
|
|
|
+
|
|
|
+ # providers.list() throws before loading providers
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.list()
|
|
|
+
|
|
|
+ providers.load()
|
|
|
+
|
|
|
providers_list = providers.list()
|
|
|
|
|
|
providers_setting = settings.MISAGO_ACL_EXTENSIONS
|
|
@@ -52,6 +64,13 @@ class PermissionProvidersTests(TestCase):
|
|
|
def test_dict(self):
|
|
|
"""providers manager dict() returns dict"""
|
|
|
providers = PermissionProviders()
|
|
|
+
|
|
|
+ # providers.dict() throws before loading providers
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.dict()
|
|
|
+
|
|
|
+ providers.load()
|
|
|
+
|
|
|
providers_dict = providers.dict()
|
|
|
|
|
|
providers_setting = settings.MISAGO_ACL_EXTENSIONS
|
|
@@ -63,22 +82,32 @@ class PermissionProvidersTests(TestCase):
|
|
|
|
|
|
def test_annotators(self):
|
|
|
"""its possible to register and get annotators"""
|
|
|
- providers = PermissionProviders()
|
|
|
-
|
|
|
def mock_annotator(*args):
|
|
|
pass
|
|
|
|
|
|
+ providers = PermissionProviders()
|
|
|
providers.acl_annotator(TestType, mock_annotator)
|
|
|
- annotators_list = providers.get_type_annotators(TestType())
|
|
|
+ providers.load()
|
|
|
+
|
|
|
+ # providers.acl_annotator() throws after loading providers
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.acl_annotator(TestType, mock_annotator)
|
|
|
+
|
|
|
+ annotators_list = providers.get_obj_type_annotators(TestType())
|
|
|
self.assertEqual(annotators_list[0], mock_annotator)
|
|
|
|
|
|
def test_serializers(self):
|
|
|
"""its possible to register and get annotators"""
|
|
|
- providers = PermissionProviders()
|
|
|
-
|
|
|
def mock_serializer(*args):
|
|
|
pass
|
|
|
|
|
|
+ providers = PermissionProviders()
|
|
|
providers.acl_serializer(TestType, mock_serializer)
|
|
|
- serializers_list = providers.get_type_serializers(TestType())
|
|
|
+ providers.load()
|
|
|
+
|
|
|
+ # providers.acl_serializer() throws after loading providers
|
|
|
+ with self.assertRaises(AssertionError):
|
|
|
+ providers.acl_serializer(TestType, mock_serializer)
|
|
|
+
|
|
|
+ serializers_list = providers.get_obj_type_serializers(TestType())
|
|
|
self.assertEqual(serializers_list[0], mock_serializer)
|