def test_splitoutputofgitstatusz(self): with open( testhelper.getrelativefilename( './resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz( file.readlines()) self.assertEqual(15, len(repositoryfiles)) self.assertEqual('project1/src/tobedeleted.txt', repositoryfiles[0]) self.assertEqual('project2/src/taka.txt', repositoryfiles[1]) self.assertEqual( 'project1/src/taka.txt', repositoryfiles[2]) # rename continuation would bite here self.assertEqual('project2/src/takatuka.txt', repositoryfiles[3]) self.assertEqual('project2/src/tuka.txt', repositoryfiles[4]) self.assertEqual('project1/src/sub/kling -- klong.zip', repositoryfiles[5]) self.assertEqual('project1/src/sub/kling :and: klong.zip', repositoryfiles[6]) self.assertEqual('project1/src/sub/kling ;and; klong.zip', repositoryfiles[7]) self.assertEqual('project1/src/sub/kling >and< klong.zip', repositoryfiles[8]) self.assertEqual('project1/src/sub/kling \\and\\ klong.zip', repositoryfiles[9]) self.assertEqual('project1/src/sub/kling |and| klong.zip', repositoryfiles[10]) self.assertEqual('project1/src/sub/klingklong.zip', repositoryfiles[11]) self.assertEqual('project1/src/sub/.jazzignore', repositoryfiles[12]) self.assertEqual('project1/src/.gitignore', repositoryfiles[13]) self.assertEqual('project1/src/sub/.gitignore', repositoryfiles[14])
def test_splitoutputofgitstatusz_filterprefix_D(self): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz(file.readlines(), ' D ') self.assertEqual(3, len(repositoryfiles)) self.assertEqual('project1/src/sub/.jazzignore', repositoryfiles[0]) self.assertEqual('project1/src/.gitignore', repositoryfiles[1]) self.assertEqual('project1/src/sub/.gitignore', repositoryfiles[2])
def test_splitoutputofgitstatusz_filterprefix_A(self): with open( testhelper.getrelativefilename( './resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz( file.readlines(), 'A ') self.assertEqual(1, len(repositoryfiles)) self.assertEqual('project1/src/tobedeleted.txt', repositoryfiles[0])
def test_splitoutputofgitstatusz_filterprefix_double_question(self): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz(file.readlines(), '?? ') self.assertEqual(7, len(repositoryfiles)) self.assertEqual('project1/src/sub/kling -- klong.zip', repositoryfiles[0]) self.assertEqual('project1/src/sub/kling :and: klong.zip', repositoryfiles[1]) self.assertEqual('project1/src/sub/kling ;and; klong.zip', repositoryfiles[2]) self.assertEqual('project1/src/sub/kling >and< klong.zip', repositoryfiles[3]) self.assertEqual('project1/src/sub/kling \\and\\ klong.zip', repositoryfiles[4]) self.assertEqual('project1/src/sub/kling |and| klong.zip', repositoryfiles[5]) self.assertEqual('project1/src/sub/klingklong.zip', repositoryfiles[6])
def test_restore_shed_gitignore_with_sibling_jazzignore(self, shellmock): with open( testhelper.getrelativefilename( './resources/test_ignore_git_status_z.txt'), 'r') as file: with patch('os.path.exists', return_value=True ): # answer inquries for sibling .jazzignore with True Commiter.restore_shed_gitignore(file.readlines()) calls = [ call.execute('git checkout -- project1/src/.gitignore'), call.execute('git checkout -- project1/src/sub/.gitignore') ] shellmock.assert_has_calls(calls)
def test_splitoutputofgitstatusz(self): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz(file.readlines()) self.assertEqual(15, len(repositoryfiles)) self.assertEqual('project1/src/tobedeleted.txt', repositoryfiles[0]) self.assertEqual('project2/src/taka.txt', repositoryfiles[1]) self.assertEqual('project1/src/taka.txt', repositoryfiles[2]) # rename continuation would bite here self.assertEqual('project2/src/takatuka.txt', repositoryfiles[3]) self.assertEqual('project2/src/tuka.txt', repositoryfiles[4]) self.assertEqual('project1/src/sub/kling -- klong.zip', repositoryfiles[5]) self.assertEqual('project1/src/sub/kling :and: klong.zip', repositoryfiles[6]) self.assertEqual('project1/src/sub/kling ;and; klong.zip', repositoryfiles[7]) self.assertEqual('project1/src/sub/kling >and< klong.zip', repositoryfiles[8]) self.assertEqual('project1/src/sub/kling \\and\\ klong.zip', repositoryfiles[9]) self.assertEqual('project1/src/sub/kling |and| klong.zip', repositoryfiles[10]) self.assertEqual('project1/src/sub/klingklong.zip', repositoryfiles[11]) self.assertEqual('project1/src/sub/.jazzignore', repositoryfiles[12]) self.assertEqual('project1/src/.gitignore', repositoryfiles[13]) self.assertEqual('project1/src/sub/.gitignore', repositoryfiles[14])
def test_translatejazzignore(self): with open(testhelper.getrelativefilename('./resources/test_.jazzignore'), 'r') as jazzignore: inputlines = jazzignore.readlines() with open(testhelper.getrelativefilename('./resources/test_.gitignore'), 'r') as gitignore: expectedlines = gitignore.readlines() self.assertEqual(expectedlines, Commiter.translatejazzignore(inputlines))
def test_restore_shed_gitignore_without_sibling_jazzignore(self, shellmock): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: with patch('os.path.exists', return_value=True): # answer inquries for sibling .jazzignore with False Commiter.restore_shed_gitignore(file.readlines()) calls = [] # if there are no siblings, we are not allowed to checkout shellmock.assert_has_calls(calls)
def test_restore_shed_gitignore_with_sibling_jazzignore(self, shellmock): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: with patch('os.path.exists', return_value=True): # answer inquries for sibling .jazzignore with True Commiter.restore_shed_gitignore(file.readlines()) calls = [call.execute('git checkout -- project1/src/.gitignore'), call.execute('git checkout -- project1/src/sub/.gitignore')] shellmock.assert_has_calls(calls)
def test_splitoutputofgitstatusz_filterprefix_A(self): with open(testhelper.getrelativefilename('./resources/test_ignore_git_status_z.txt'), 'r') as file: repositoryfiles = Commiter.splitoutputofgitstatusz(file.readlines(), 'A ') self.assertEqual(1, len(repositoryfiles)) self.assertEqual('project1/src/tobedeleted.txt', repositoryfiles[0])
def test_getSampleConfig_ExpectInitializedConfigWithDefaultValues(self): config = configuration.read(testhelper.getrelativefilename("../config.ini.sample")) self.assertEqual("lscm", config.scmcommand) self.assertEqual(config, configuration.get())
def test_read_minimumconfigfile_shouldrelyonfallbackvalues(self): configuration.setconfigfile(testhelper.getrelativefilename('resources/test_minimum_config.ini')) self._assertDefaultConfig(configuration.read())
def test_read_configfile_from_configuration(self): configuration.setconfigfile(testhelper.getrelativefilename('resources/test_config.ini')) self._assertTestConfig(configuration.read())
def test_read_passedin_configfile_expect_override_user_password(self): configuration.setUser('newUser') configuration.setPassword('newPassword') self._assertTestConfig(configuration.read(testhelper.getrelativefilename('resources/test_config.ini')), user='******', password='******')
def test_read_passedin_configfile(self): self._assertTestConfig(configuration.read(testhelper.getrelativefilename('resources/test_config.ini')))