def test_create_readable_dir_virus(tmpdir): output = tmpdir.mkdir('output') entry = {'organism_name': 'OnlyOneString-1', 'infraspecific_name': 'strain=ABC 1234'} ret = core.create_readable_dir(entry, 'refseq', 'viral', str(output)) expected = output.join('human_readable', 'refseq', 'viral', 'OnlyOneString-1', 'ABC_1234') assert expected.check() assert ret == str(expected) entry = {'organism_name': 'Two strings', 'infraspecific_name': 'strain=ABC 1234'} ret = core.create_readable_dir(entry, 'refseq', 'viral', str(output)) expected = output.join('human_readable', 'refseq', 'viral', 'Two_strings', 'ABC_1234') assert expected.check() assert ret == str(expected) entry = {'organism_name': 'This is four strings', 'infraspecific_name': 'strain=ABC 1234'} ret = core.create_readable_dir(entry, 'refseq', 'viral', str(output)) expected = output.join('human_readable', 'refseq', 'viral', 'This_is_four_strings', 'ABC_1234') assert expected.check() assert ret == str(expected) entry = {'organism_name': 'This is four strings', 'infraspecific_name': '', 'isolate': '', 'assembly_accession': 'ABC12345'} ret = core.create_readable_dir(entry, 'refseq', 'viral', str(output)) expected = output.join('human_readable', 'refseq', 'viral', 'This_is_four_strings', 'ABC12345') assert expected.check() assert ret == str(expected)
def test_create_readable_dir_isfile(tmpdir): entry = {'organism_name': 'Example species', 'infraspecific_name': 'strain=ABC 1234'} output = tmpdir.mkdir('output') output.join('human_readable', 'refseq', 'bacteria', 'Example', 'species', 'ABC_1234').write( 'foo', ensure=True) with pytest.raises(OSError): core.create_readable_dir(entry, 'refseq', 'bacteria', str(output))
def test_create_readable_dir_exists(tmpdir): entry = {'organism_name': 'Example species', 'infraspecific_name': 'strain=ABC 1234'} output = tmpdir.mkdir('output') expected = output.mkdir('human_readable').mkdir('refseq').mkdir('bacteria').mkdir( 'Example').mkdir('species').mkdir('ABC_1234') ret = core.create_readable_dir(entry, 'refseq', 'bacteria', str(output)) assert ret == str(expected)