예제 #1
0
    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)
예제 #2
0
    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''')
예제 #3
0
    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")''')
예제 #4
0
    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')
예제 #5
0
    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')
        ])
예제 #6
0
    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
''')
예제 #7
0
    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")
''')
예제 #8
0
    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())