test_settings.py 3.0 KB

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