import os from django.test import TestCase from django.utils.encoding import smart_str from misago.core import setup class MockParser(object): def error(self, message): raise ValueError(message) class SetupTests(TestCase): def test_validate_project_name(self): """validate_project_name identifies incorrect names correctly""" mock_parser = MockParser() with self.assertRaises(ValueError): setup.validate_project_name(mock_parser, "-lorem") with self.assertRaises(ValueError): setup.validate_project_name(mock_parser, "django") with self.assertRaises(ValueError): setup.validate_project_name(mock_parser, "dja-ngo") with self.assertRaises(ValueError): setup.validate_project_name(mock_parser, "123") self.assertTrue(setup.validate_project_name(mock_parser, "myforum")) self.assertTrue(setup.validate_project_name(mock_parser, "myforum123")) def test_get_misago_project_template(self): """get_misago_project_template returns correct path to template""" misago_path = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) test_project_path = os.path.join(misago_path, "project_template") self.assertEqual( smart_str(setup.get_misago_project_template()), smart_str(test_project_path) )