test_settings.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. from django.conf import settings as dj_settings
  2. from django.test import TestCase
  3. from misago.core import threadstore
  4. from misago.conf.gateway import settings as gateway
  5. from misago.conf.dbsettings import db_settings
  6. from misago.conf.migrationutils import migrate_settings_group
  7. from misago.conf.models import SettingsGroup, Setting
  8. class DBSettingsTests(TestCase):
  9. serialized_rollback = True
  10. def tearDown(self):
  11. threadstore.clear()
  12. def test_get_existing_setting(self):
  13. """forum_name is defined"""
  14. self.assertEqual(db_settings.forum_name, 'Misago')
  15. with self.assertRaises(AttributeError):
  16. db_settings.MISAGO_MAILER_BATCH_SIZE
  17. class GatewaySettingsTests(TestCase):
  18. serialized_rollback = True
  19. def tearDown(self):
  20. threadstore.clear()
  21. def test_get_existing_setting(self):
  22. """forum_name is defined"""
  23. self.assertEqual(gateway.forum_name, db_settings.forum_name)
  24. self.assertEqual(gateway.MISAGO_MAILER_BATCH_SIZE,
  25. dj_settings.MISAGO_MAILER_BATCH_SIZE)
  26. with self.assertRaises(AttributeError):
  27. gateway.LoremIpsum
  28. def test_setting_lazy(self):
  29. orm = {
  30. 'conf.SettingsGroup': SettingsGroup,
  31. 'conf.Setting': Setting,
  32. }
  33. test_group = {
  34. 'key': 'test_group',
  35. 'name': "Test settings",
  36. 'description': "Those are test settings.",
  37. 'settings': (
  38. {
  39. 'setting': 'fish_name',
  40. 'name': "Fish's name",
  41. 'value': "Greedy Eric",
  42. 'field_extra': {
  43. 'min_length': 2,
  44. 'max_length': 255
  45. },
  46. 'is_lazy': False
  47. },
  48. {
  49. 'setting': 'lazy_fish_name',
  50. 'name': "Fish's name",
  51. 'value': "Lazy Eric",
  52. 'field_extra': {
  53. 'min_length': 2,
  54. 'max_length': 255
  55. },
  56. 'is_lazy': True
  57. },
  58. {
  59. 'setting': 'lazy_empty_setting',
  60. 'name': "Fish's name",
  61. 'field_extra': {
  62. 'min_length': 2,
  63. 'max_length': 255
  64. },
  65. 'is_lazy': True
  66. },
  67. )
  68. }
  69. migrate_settings_group(orm, test_group)
  70. self.assertTrue(gateway.lazy_fish_name)
  71. self.assertTrue(db_settings.lazy_fish_name)
  72. self.assertTrue(gateway.lazy_fish_name)
  73. self.assertTrue(db_settings.lazy_fish_name)
  74. self.assertTrue(gateway.lazy_empty_setting is None)
  75. self.assertTrue(db_settings.lazy_empty_setting is None)
  76. db_settings.get_lazy_setting('lazy_fish_name')
  77. with self.assertRaises(ValueError):
  78. db_settings.get_lazy_setting('fish_name')