def test_initialization(self): """providers manager is lazily initialized""" providers = PermissionProviders() self.assertTrue(providers._initialized is False) self.assertTrue(not providers._providers) self.assertTrue(not providers._providers_dict) # public api errors on non-loaded object with self.assertRaises(AssertionError): providers.get_obj_type_annotators(TestType()) with self.assertRaises(AssertionError): providers.get_obj_type_serializers(TestType()) 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.load() self.assertTrue(providers._initialized) self.assertTrue(providers._providers) self.assertTrue(providers._providers_dict)
def test_serializers(self): """its possible to register and get annotators""" def mock_serializer(*args): pass providers = PermissionProviders() providers.acl_serializer(TestType, mock_serializer) 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)