File size: 2,195 Bytes
44459bb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import pytest
from folding_studio.query import ProtenixQuery
def test_from_file(tmp_files):
"""Test from_file with a valid FASTA file."""
fasta_path = tmp_files["monomer_fasta"]
query = ProtenixQuery.from_file(fasta_path, use_msa_server=True, seed=0)
payload = query.payload
assert fasta_path.stem in payload["fasta_files"]
assert payload["use_msa_server"] is True
assert payload["seeds"] == "0"
def test_from_file_invalid_extension(tmp_files):
"""Test from_file with an invalid file extension."""
with pytest.raises(
ValueError,
match=f"Unsupported suffix '{tmp_files['invalid_source'].suffix}'",
):
ProtenixQuery.from_file(
tmp_files["invalid_source"], use_msa_server=True, seed=0
)
def test_from_directory(tmp_files):
"""Test from_directory with valid FASTA files."""
query = ProtenixQuery.from_directory(
tmp_files["valid_dir"], use_msa_server=False, seed=0
)
payload = query.payload
assert "monomer_1" in payload["fasta_files"]
assert "monomer_2" in payload["fasta_files"]
assert payload["use_msa_server"] is False
assert payload["seeds"] == "0"
def test_from_empty_fasta_directory(tmp_files):
"""Test from_directory with an empty directory."""
with pytest.raises(ValueError, match="No FASTA files found in directory"):
ProtenixQuery.from_directory(
tmp_files["empty_dir"], use_msa_server=False, seed=0
)
def test_from_directory_with_invalid_sources(tmp_files):
"""Test from_directory ignores invalid file extensions."""
with pytest.raises(ValueError, match="No FASTA files found in directory"):
ProtenixQuery.from_directory(
tmp_files["invalid_dir"], use_msa_server=False, seed=0
)
def test_from_file_with_msa_server(tmp_files):
"""Test from_file with a FASTA file."""
query = ProtenixQuery.from_file(
str(tmp_files["monomer_fasta"]),
use_msa_server=True,
seed=10,
)
payload = query.payload
assert tmp_files["monomer_fasta"].stem in payload["fasta_files"]
assert payload["use_msa_server"] is True
assert payload["seeds"] == "10"
|