test_providers.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from types import ModuleType
  2. from django.conf import settings
  3. from django.test import TestCase
  4. from misago.acl.providers import PermissionProviders
  5. class PermissionProvidersTests(TestCase):
  6. serialized_rollback = True
  7. def test_initialization(self):
  8. """providers manager is lazily initialized"""
  9. providers = PermissionProviders()
  10. self.assertTrue(providers._initialized is False)
  11. self.assertTrue(not providers._providers)
  12. self.assertTrue(not providers._providers_dict)
  13. # list call initializes providers
  14. providers_list = providers.list()
  15. self.assertTrue(providers_list)
  16. self.assertTrue(providers._initialized)
  17. self.assertTrue(providers._providers)
  18. self.assertTrue(providers._providers_dict)
  19. # dict call initializes providers
  20. providers = PermissionProviders()
  21. providers_dict = providers.dict()
  22. self.assertTrue(providers_dict)
  23. self.assertTrue(providers._initialized)
  24. self.assertTrue(providers._providers)
  25. self.assertTrue(providers._providers_dict)
  26. def test_list(self):
  27. """providers manager list() returns iterable of tuples"""
  28. providers = PermissionProviders()
  29. providers_list = providers.list()
  30. providers_setting = settings.MISAGO_ACL_EXTENSIONS
  31. self.assertEqual(len(providers_list), len(providers_setting))
  32. for extension, module in providers_list:
  33. self.assertTrue(isinstance(extension, basestring))
  34. self.assertEqual(type(module), ModuleType)
  35. def test_dict(self):
  36. """providers manager dict() returns dict"""
  37. providers = PermissionProviders()
  38. providers_dict = providers.dict()
  39. providers_setting = settings.MISAGO_ACL_EXTENSIONS
  40. self.assertEqual(len(providers_dict), len(providers_setting))
  41. for extension, module in providers_dict.items():
  42. self.assertTrue(isinstance(extension, basestring))
  43. self.assertEqual(type(module), ModuleType)