コード例 #1
0
ファイル: Package.py プロジェクト: tubav/teagle
	def deploy_shared(klass, adapter):
		source = adapter.repodir / klass.__name__.lower() / "shared"
		target = klass.get_shareddir(adapter)

		source.checkdir()
		if target.exists():
			logger.warning(target + " already exists. Removing it.")
			rmtree(target)

		td = Path(tempfile.mkdtemp())
		try:
			temptarget = td / "shared"
			source.copytree(temptarget)
			temptarget.move(target)
		finally:
			td.rmtree()
コード例 #2
0
def clear(folder: path):
    if folder.exists():
        folder.rmtree()
    folder.makedirs()
コード例 #3
0
ファイル: tc_domain.py プロジェクト: dsaran/packagehelper
class InstallScriptTests(TestCase):

    def setUp(self):
        self.base_path = Mock()
        file1 = Mock()
        file2 = Mock()
        self.base_path.abspath.return_value = '/tmp/'
        file1.getInitScript.return_value = ['file 1 init']
        file2.getInitScript.return_value = ['file 2 init']
        file1.getScript.return_value = ['file 1 script']
        file2.getScript.return_value = ['file 2 script']
        file1.getFinalScript.return_value = ['file 1 end']
        file2.getFinalScript.return_value = ['file 2 end']
        self.install_script = InstallScript('filename.sql', content=[file1, file2])

        self.expected_data = ['SPOOL filename.log',
                         'file 1 init', 'file 2 init',
                         'file 1 script', 'file 2 script',
                         'file 1 end', 'file 2 end',
                         'SPOOL OFF']

        self.test_dir = Path('TEST_OUTPUT')
        self.test_dir.mkdir()

        self.expected_script = self.test_dir / Path(self.install_script.name)

    def tearDown(self):
        self.test_dir.rmtree()
 
    def testScriptCreation(self):
        """ Given a Script with files data should be generated correctly"""

        self.install_script._write_script = Mock()
 
        self.install_script.create(self.base_path)

        write_script_method = self.install_script._write_script

        write_script_method.assert_called_with(self.base_path, self.expected_data)
 
    def testWriteScript(self):
        """ When a script is written it should be created on filesystem correctly"""
        self.when_install_script_is_written()

        self.then_install_script_should_exists_on_filesystem()

        self.then_install_script_data_should_be_correct()
        
    def testExistingScriptMovedBeforeCreation(self):
        """ Given a script with same name exists it should be moved to scriptname.bak"""
        self.given_exists_file_with_same_name()

        self.when_install_script_is_written()

        self.then_existing_file_should_be_backed_up()

        self.then_install_script_data_should_be_correct()


    def testScriptNameDoesNotEndWithSQL(self):
        """ Given script name doesn't end with SQL spool should be to scriptname.log"""
        self.given_script_name_doesnt_end_with_sql()

        self.when_install_script_is_created()

        self.then_spool_should_be_to_scriptname_log()

    ############
    # Behavior #
    ############
    def given_script_name_doesnt_end_with_sql(self):
        self.install_script.name = 'filename'
        self.expected_script = self.test_dir / Path(self.install_script.name)

    def given_exists_file_with_same_name(self):
        self.existing_file = self.test_dir/self.install_script.name
        self.existing_file.touch()

        self.assertTrue(self.existing_file.exists())

    def when_install_script_is_written(self):
        self.install_script._write_script(self.test_dir, self.expected_data)

    def when_install_script_is_created(self):
        self.install_script._write_script = Mock()

        self.install_script.create(self.test_dir)

    def then_install_script_should_exists_on_filesystem(self):
        self.assertTrue(self.expected_script.exists(), "File not created")

    def then_install_script_data_should_be_correct(self):
        written_lines = self.expected_script.lines(retain=False)

        self.assertEquals(self.expected_data, written_lines, "Written data should match expected.")

    def then_existing_file_should_be_backed_up(self):
        moved_file = self.existing_file + '.bak' 
        self.assertTrue(moved_file.exists(), "Backup file not created")

    def then_spool_should_be_to_scriptname_log(self):
        self.install_script._write_script.assert_called_with(self.test_dir, self.expected_data)