test_setup.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import os
  2. from django.test import TestCase
  3. from misago.core import setup
  4. class MockParser(object):
  5. def error(self, message):
  6. raise ValueError(message)
  7. class SetupTests(TestCase):
  8. serialized_rollback = True
  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(
  25. os.path.dirname(os.path.dirname(__file__)))
  26. test_project_path = os.path.join(misago_path, 'project_template')
  27. self.assertEqual(unicode(setup.get_misago_project_template()),
  28. unicode(test_project_path))