test_settings.py 2.9 KB

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