def test_ignore_one_dir(self): with open("/tmp/DukeDsClientTestFolder/.ddsignore", "w") as text_file: text_file.write("emptyfolder") content = LocalProject(False, file_exclude_regex='^\.') content.add_path('test_scripts') self.assertNotIn('.hidden_file', str(content)) content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder') child_names = [child.name for child in content.children[0].children] self.assertEqual(set(['.ddsignore', 'note.txt', 'results', 'scripts']), set(child_names))
def test_nested_folder_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder/results') self.assertEqual(('project: [folder:results [' 'file:result1929.txt, ' 'file:result2929.txt, ' 'folder:subresults [file:result1002.txt, file:result13.txt, file:result15.txt], ' 'folder:subresults2 []' ']]'), str(content))
def test_big_folder_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder') self.assertEqual(('project: [folder:DukeDsClientTestFolder [' 'file:note.txt, ' 'folder:emptyfolder [], ' 'folder:results [' 'file:result1929.txt, file:result2929.txt, folder:subresults ' '[file:result1002.txt, file:result13.txt, file:result15.txt], ' 'folder:subresults2 []' '], ' 'folder:scripts [' 'file:makemoney.sh' ']' ']]'), str(content))
def test_big_folder_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder') child_names = [child.name for child in content.children[0].children] self.assertEqual( set(['note.txt', 'emptyfolder', 'results', 'scripts']), set(child_names)) self.assertEqual( ('project: [folder:DukeDsClientTestFolder [' 'file:note.txt, ' 'folder:emptyfolder [], ' 'folder:results [' 'file:result1929.txt, file:result2929.txt, folder:subresults ' '[file:result1002.txt, file:result13.txt, file:result15.txt], ' 'folder:subresults2 []' '], ' 'folder:scripts [' 'file:makemoney.sh' ']' ']]'), str(content))
def test_one_folder_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder/scripts') self.assertEqual('project: [folder:scripts [file:makemoney.sh]]', str(content))
def test_empty_folder_and_file_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder/emptyfolder') content.add_path('/tmp/DukeDsClientTestFolder/note.txt') self.assertEqual('project: [folder:emptyfolder [], file:note.txt]', str(content))
def test_top_level_file_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) content.add_path('/tmp/DukeDsClientTestFolder/note.txt') self.assertEqual('project: [file:note.txt]', str(content))
def test_empty_str(self): content = LocalProject(False, file_exclude_regex=INCLUDE_ALL) self.assertEqual('project: []', str(content))
def test_exclude_dot_files(self): content = LocalProject(False, file_exclude_regex='^\.') content.add_path('test_scripts') self.assertNotIn('.hidden_file', str(content))
def _load_local_project(folders, follow_symlinks, file_exclude_regex): local_project = LocalProject(followsymlinks=follow_symlinks, file_exclude_regex=file_exclude_regex) local_project.add_paths(folders) return local_project