test_setup.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import os
  2. from django.test import TestCase
  3. from django.utils.encoding import smart_str
  4. from misago.core import setup
  5. class MockParser(object):
  6. def error(self, message):
  7. raise ValueError(message)
  8. class SetupTests(TestCase):
  9. def test_validate_project_name(self):
  10. """validate_project_name identifies incorrect names correctly"""
  11. mock_parser = MockParser()
  12. with self.assertRaises(ValueError):
  13. setup.validate_project_name(mock_parser, "-lorem")
  14. with self.assertRaises(ValueError):
  15. setup.validate_project_name(mock_parser, "django")
  16. with self.assertRaises(ValueError):
  17. setup.validate_project_name(mock_parser, "dja-ngo")
  18. with self.assertRaises(ValueError):
  19. setup.validate_project_name(mock_parser, "123")
  20. self.assertTrue(setup.validate_project_name(mock_parser, "myforum"))
  21. self.assertTrue(setup.validate_project_name(mock_parser, "myforum123"))
  22. def test_get_misago_project_template(self):
  23. """get_misago_project_template returns correct path to template"""
  24. misago_path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
  25. test_project_path = os.path.join(misago_path, "project_template")
  26. self.assertEqual(
  27. smart_str(setup.get_misago_project_template()), smart_str(test_project_path)
  28. )