def testFileActionDeleteTreeRight(self): relFilePath1 = os.path.join('adirectory', 'filename.txt') self.__createRightOnlyFile(relFilePath1) self.assertTrue( os.path.isdir(os.path.join(FIXTURE_DIR_RIGHT, 'adirectory'))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, relFilePath1))) config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) action = FileActions.FileActionDeleteTreeRight('adirectory', config) self.assertEqual(action.GetType(), FileActions.ACTION_DELETE_TREE_RIGHT) action.PerformAction() # The file and directory should not exist on the left side. self.assertFalse( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, relFilePath1))) self.assertFalse( os.path.isdir(os.path.join(FIXTURE_DIR_LEFT, 'adirectory'))) # The file and directory should not exist on the right side. self.assertFalse( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, relFilePath1))) self.assertFalse( os.path.isdir(os.path.join(FIXTURE_DIR_RIGHT, 'adirectory')))
def testFileActionCopyTreeRight(self): relFilePath1 = os.path.join('adirectory', 'filename.txt') relFilePath2 = os.path.join('adirectory', '.DS_Store') self.__createLeftOnlyFile(relFilePath1) self.__createLeftOnlyFile(relFilePath2) self.assertTrue( os.path.isdir(os.path.join(FIXTURE_DIR_LEFT, 'adirectory'))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, relFilePath1))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, relFilePath2))) config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) action = FileActions.FileActionCopyTreeRight('adirectory', config) self.assertEqual(action.GetType(), FileActions.ACTION_COPY_TREE_RIGHT) action.PerformAction() # File 1 should have been copied, but not file 2. self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, relFilePath1))) self.assertFalse( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, relFilePath2))) # The original files should still be present. self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, relFilePath1))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, relFilePath2)))
def testSameFiles(self): self.__createSameFile('samefile.txt') config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) comp = FolderComparer.FolderComparer(config) self.assertEqual(comp.GetSameFiles(), ['samefile.txt']) self.assertEqual(comp.GetDiffFiles(), []) self.assertEqual(comp.GetLeftOnlyDirs(), []) self.assertEqual(comp.GetLeftOnlyFiles(), []) self.assertEqual(comp.GetRightOnlyDirs(), []) self.assertEqual(comp.GetRightOnlyFiles(), [])
def testMacMetadataFilesAreIgnoredDiff(self): r'''Different files starting with "._" should not appear in the different files list. ''' self.__createDiffFile('._difffile.txt') self.__createDiffFile(os.path.join('folder', '._anotherdifffile.txt')) config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) comp = FolderComparer.FolderComparer(config) self.assertEqual(comp.GetSameFiles(), []) self.assertEqual(comp.GetDiffFiles(), []) self.assertEqual(comp.GetLeftOnlyDirs(), []) self.assertEqual(comp.GetLeftOnlyFiles(), []) self.assertEqual(comp.GetRightOnlyDirs(), []) self.assertEqual(comp.GetRightOnlyFiles(), [])
def testFileActionCopyRight(self): self.__createLeftOnlyFile('filename.txt') config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) action = FileActions.FileActionCopyRight('filename.txt', config) self.assertEqual(action.GetType(), FileActions.ACTION_COPY_RIGHT) action.PerformAction() self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, 'filename.txt'))) self.assertTrue( filecmp.cmp(os.path.join(FIXTURE_DIR_LEFT, 'filename.txt'), os.path.join(FIXTURE_DIR_RIGHT, 'filename.txt')))
def testFileActionDeleteLeft(self): self.__createSameFile('filename.txt') self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, 'filename.txt'))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, 'filename.txt'))) config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) action = FileActions.FileActionDeleteLeft('filename.txt', config) self.assertEqual(action.GetType(), FileActions.ACTION_DELETE_LEFT) action.PerformAction() self.assertFalse( os.path.isfile(os.path.join(FIXTURE_DIR_LEFT, 'filename.txt'))) self.assertTrue( os.path.isfile(os.path.join(FIXTURE_DIR_RIGHT, 'filename.txt')))
def testIsCreatable(self): config = FolderComparerConfig.FolderComparerConfig( FIXTURE_DIR_LEFT, FIXTURE_DIR_RIGHT, FolderComparerConfig.PREFER_NONE, []) comp = FolderComparer.FolderComparer(config) self.assertTrue(comp)
re.compile(curRegex, re.IGNORECASE) for curRegex in userConfig['ignoreRegexes'] ] # Translate the preferred side from the user config's string to the constant # value. userConfigPreferredSide = userConfig.get('preferSide', 'none') if userConfigPreferredSide == 'left': userConfigPreferredSide = FolderComparerConfig.PREFER_LEFT elif userConfigPreferredSide == 'right': userConfigPreferredSide = FolderComparerConfig.PREFER_RIGHT else: userConfigPreferredSide = FolderComparerConfig.PREFER_NONE config = FolderComparerConfig.FolderComparerConfig( userConfig['leftDir'], userConfig['rightDir'], userConfigPreferredSide, userConfig['ignoreRegexes']) comp = FolderComparer.FolderComparer(config) print '-' * OUTPUT_WIDTH print 'Left:', config.GetLeftFolder() print 'Right:', config.GetRightFolder() print '-' * OUTPUT_WIDTH # A list of tuples containing a description of the category and # the pairings for that category. A list was used in order to # keep the order of the categories. categorizedPairings = [ ('Modified Files', comp.GetDiffFilePairings()), ('Left-only Files', comp.GetLeftOnlyFilePairings()),
def testIsCreatedWithBuiltInIgnoreRegexes(self): config = FolderComparerConfig.FolderComparerConfig( 'leftFolder', 'rightFolder', FolderComparerConfig.PREFER_NONE, []) regexes = config.GetIgnoreRegexes() self.assertTrue(len(regexes) > 0)
def testIsCreatable(self): config = FolderComparerConfig.FolderComparerConfig( 'leftFolder', 'rightFolder', FolderComparerConfig.PREFER_NONE, []) self.assertIsNotNone(config)