test_settings.py 2.9 KB

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