test_context_processors.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.test import TestCase
  2. from misago.core import context_processors
  3. class MockRequest(object):
  4. path_info = '/'
  5. def __init__(self, secure, host):
  6. self.secure = secure
  7. self.host = host
  8. def is_secure(self):
  9. return self.secure
  10. def get_host(self):
  11. return self.host
  12. class SiteAddressTests(TestCase):
  13. def test_site_address_for_http(self):
  14. """Correct SITE_ADDRESS set for HTTP request"""
  15. mock_request = MockRequest(False, 'somewhere.com')
  16. self.assertEqual(
  17. context_processors.site_address(mock_request),
  18. {
  19. 'REQUEST_PATH': '/',
  20. 'SITE_ADDRESS': 'http://somewhere.com',
  21. 'SITE_HOST': 'somewhere.com',
  22. 'SITE_PROTOCOL': 'http',
  23. })
  24. def test_site_address_for_https(self):
  25. """Correct SITE_ADDRESS set for HTTPS request"""
  26. mock_request = MockRequest(True, 'somewhere.com')
  27. self.assertEqual(
  28. context_processors.site_address(mock_request),
  29. {
  30. 'REQUEST_PATH': '/',
  31. 'SITE_ADDRESS': 'https://somewhere.com',
  32. 'SITE_HOST': 'somewhere.com',
  33. 'SITE_PROTOCOL': 'https',
  34. })
  35. class FrontendContextTests(TestCase):
  36. def test_frontend_context(self):
  37. """frontend_context is available in templates"""
  38. mock_request = MockRequest(False, 'somewhere.com')
  39. mock_request.frontend_context = {'someValue': 'Something'}
  40. self.assertEqual(
  41. context_processors.frontend_context(mock_request),
  42. {'frontend_context': {'someValue': 'Something'}})