def test_should_set_up_project_when_directories_present(self, mock_os): scaffolding = PythonProjectScaffolding('some-project') mock_os.path.exists.return_value = True scaffolding.set_up_project() self.assertFalse(mock_os.called)
def test_should_build_empty_initializer_when_defaults_are_used(self): scaffolding = PythonProjectScaffolding('some-project') scaffolding.build_initializer() self.assertEqual(scaffolding.initializer, '''@init def set_properties(project): pass''')
def test_should_build_initializer_for_custom_test_dir(self): scaffolding = PythonProjectScaffolding('some-project') scaffolding.dir_source_unittest_python = 'test' scaffolding.build_initializer() self.assertEqual(scaffolding.initializer, '''@init def set_properties(project): project.set_property("dir_source_unittest_python", "test")''')
def test_should_set_up_scaffolding_with_defaults(self): scaffolding = PythonProjectScaffolding('some-project') self.assertEqual(scaffolding.dir_source_main_python, 'src/main/python') self.assertEqual(scaffolding.dir_source_unittest_python, 'src/unittest/python') self.assertEqual(scaffolding.dir_source_main_scripts, 'src/main/scripts')
def test_should_set_up_project_when_directories_missing(self, mock_os): scaffolding = PythonProjectScaffolding('some-project') mock_os.path.exists.return_value = False scaffolding.set_up_project() self.assertEqual(mock_os.makedirs.call_args_list, [ call('src/main/python'), call('src/unittest/python'), call('src/main/scripts') ])
def test_should_render_build_descriptor_without_custom_dirs(self): scaffolding = PythonProjectScaffolding('some-project') self.assertEqual( scaffolding.render_build_descriptor(), '''# -*- coding: utf-8 -*- from pybuilder.core import use_plugin, init use_plugin("python.core") use_plugin("python.unittest") name = "some-project" default_task = "publish" @init def set_properties(project): pass ''')
def test_should_render_build_descriptor_with_custom_dirs(self): scaffolding = PythonProjectScaffolding('some-project') scaffolding.dir_source_unittest_python = 'test' scaffolding.dir_source_main_python = 'src' self.assertEqual( scaffolding.render_build_descriptor(), '''# -*- coding: utf-8 -*- from pybuilder.core import use_plugin, init use_plugin("python.core") use_plugin("python.unittest") name = "some-project" default_task = "publish" @init def set_properties(project): project.set_property("dir_source_main_python", "src") project.set_property("dir_source_unittest_python", "test") ''')
def test_should_render_build_descriptor_with_additional_imports(self): scaffolding = PythonProjectScaffolding('some-project') scaffolding.add_plugins(['foo', 'bar']) self.assertTrue('\nuse_plugin("foo")\nuse_plugin("bar")\n' in scaffolding.render_build_descriptor())