def setUp(self): prefix = "qiime2-test-temp-" self.temp_dir = tempfile.TemporaryDirectory(prefix=prefix) # Initialize an Archiver. The values passed to the constructor mostly # don't matter to the Archiver, but we'll pass valid Artifact test data # anyways in case Archiver's behavior changes in the future. def data_initializer(data_dir): fp = os.path.join(str(data_dir), 'ints.txt') with open(fp, 'w') as fh: fh.write('1\n') fh.write('2\n') fh.write('3\n') self.archiver = Archiver.from_data( IntSequence1, IntSequenceDirectoryFormat, data_initializer=data_initializer, provenance_capture=ImportProvenanceCapture())
def test_save_excludes_dotfiles_in_data_dir(self): def data_initializer(data_dir): data_dir = str(data_dir) fp = os.path.join(data_dir, 'ints.txt') with open(fp, 'w') as fh: fh.write('1\n') fh.write('2\n') fh.write('3\n') hidden_fp = os.path.join(data_dir, '.hidden-file') with open(hidden_fp, 'w') as fh: fh.write("You can't see me if I can't see you\n") hidden_dir = os.path.join(data_dir, '.hidden-dir') os.mkdir(hidden_dir) with open(os.path.join(hidden_dir, 'ignored-file'), 'w') as fh: fh.write("I'm ignored because I live in a hidden dir :(\n") archiver = Archiver.from_data( IntSequence1, IntSequenceDirectoryFormat, data_initializer=data_initializer, provenance_capture=ImportProvenanceCapture()) fp = os.path.join(self.temp_dir.name, 'archive.zip') archiver.save(fp) root_dir = str(archiver.uuid) expected = { 'VERSION', 'checksums.md5', 'metadata.yaml', 'data/ints.txt', 'provenance/metadata.yaml', 'provenance/VERSION', 'provenance/citations.bib', 'provenance/action/action.yaml' } self.assertArchiveMembers(fp, root_dir, expected)