/tests/regressiontests/settings_tests/tests.py

https://github.com/blacktear23/django · Python · 78 lines · 59 code · 10 blank · 9 comment · 1 complexity · b40267fb795af58f8871120245813041 MD5 · raw file

  1. from django.conf import settings
  2. from django.utils import unittest
  3. from django.conf import settings, UserSettingsHolder, global_settings
  4. class SettingsTests(unittest.TestCase):
  5. #
  6. # Regression tests for #10130: deleting settings.
  7. #
  8. def test_settings_delete(self):
  9. settings.TEST = 'test'
  10. self.assertEqual('test', settings.TEST)
  11. del settings.TEST
  12. self.assertRaises(AttributeError, getattr, settings, 'TEST')
  13. def test_settings_delete_wrapped(self):
  14. self.assertRaises(TypeError, delattr, settings, '_wrapped')
  15. class TrailingSlashURLTests(unittest.TestCase):
  16. settings_module = settings
  17. def setUp(self):
  18. self._original_media_url = self.settings_module.MEDIA_URL
  19. def tearDown(self):
  20. self.settings_module.MEDIA_URL = self._original_media_url
  21. def test_blank(self):
  22. """
  23. If blank, no PendingDeprecationWarning error will be raised, even though it
  24. doesn't end in a slash.
  25. """
  26. self.settings_module.MEDIA_URL = ''
  27. self.assertEqual('', self.settings_module.MEDIA_URL)
  28. def test_end_slash(self):
  29. """
  30. MEDIA_URL works if you end in a slash.
  31. """
  32. self.settings_module.MEDIA_URL = '/foo/'
  33. self.assertEqual('/foo/', self.settings_module.MEDIA_URL)
  34. self.settings_module.MEDIA_URL = 'http://media.foo.com/'
  35. self.assertEqual('http://media.foo.com/',
  36. self.settings_module.MEDIA_URL)
  37. def test_no_end_slash(self):
  38. """
  39. MEDIA_URL raises an PendingDeprecationWarning error if it doesn't end in a
  40. slash.
  41. """
  42. import warnings
  43. warnings.filterwarnings('error', 'If set, MEDIA_URL must end with a slash', PendingDeprecationWarning)
  44. def setattr_settings(settings_module, attr, value):
  45. setattr(settings_module, attr, value)
  46. self.assertRaises(PendingDeprecationWarning, setattr_settings,
  47. self.settings_module, 'MEDIA_URL', '/foo')
  48. self.assertRaises(PendingDeprecationWarning, setattr_settings,
  49. self.settings_module, 'MEDIA_URL',
  50. 'http://media.foo.com')
  51. def test_double_slash(self):
  52. """
  53. If a MEDIA_URL ends in more than one slash, presume they know what
  54. they're doing.
  55. """
  56. self.settings_module.MEDIA_URL = '/stupid//'
  57. self.assertEqual('/stupid//', self.settings_module.MEDIA_URL)
  58. self.settings_module.MEDIA_URL = 'http://media.foo.com/stupid//'
  59. self.assertEqual('http://media.foo.com/stupid//',
  60. self.settings_module.MEDIA_URL)