Skip to content

Commit

Permalink
add mehari tests (#32)
Browse files Browse the repository at this point in the history
  • Loading branch information
gromdimon authored Apr 11, 2024
1 parent d2bf1e4 commit 933933e
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 7 deletions.
4 changes: 2 additions & 2 deletions tests/api/test_annonars.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def test_get_variant_from_range_success():

client = AnnonarsClient(api_base_url="https://example.com/annonars")
response = client.get_variant_from_range(example_seqvar, start, stop)
assert response == AnnonarsRangeResponse(**mock_response)
assert response == AnnonarsRangeResponse.model_validate(mock_response)


@responses.activate
Expand All @@ -50,7 +50,7 @@ def test_get_variant_from_range_failure():

client = AnnonarsClient(api_base_url="https://example.com/annonars")
response = client.get_variant_from_range(example_seqvar, start, stop)
assert response == AnnonarsRangeResponse(**mock_response)
assert response == AnnonarsRangeResponse.model_validate(mock_response)


@responses.activate
Expand Down
4 changes: 2 additions & 2 deletions tests/api/test_dotty.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_to_spdi_success():

client = DottyClient(api_base_url="https://example.com/dotty")
response = client.to_spdi("test_query", GenomeRelease.GRCh38)
assert response == DottySpdiResponse(**mock_response)
assert response == DottySpdiResponse.model_validate(mock_response)


@responses.activate
Expand All @@ -35,7 +35,7 @@ def test_to_spdi_failure():

client = DottyClient(api_base_url="https://example.com/dotty")
response = client.to_spdi("test_query", GenomeRelease.GRCh38)
assert response == DottySpdiResponse(**mock_response)
assert response == DottySpdiResponse.model_validate(mock_response)


@responses.activate
Expand Down
55 changes: 52 additions & 3 deletions tests/api/test_mehari.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from src.api.mehari import MehariClient
from src.defs.genome_builds import GenomeRelease
from src.defs.mehari import TranscriptsSeqVar
from src.defs.mehari import GeneTranscripts, TranscriptsSeqVar
from src.defs.seqvar import SeqVar
from tests.utils import get_json_object

Expand All @@ -16,6 +16,9 @@
user_representation="1:1000A>T",
)

#: Example HGNC gene ID
example_hgnc_id = "HGNC:1234"


@responses.activate
def test_get_seqvar_transcripts_success():
Expand All @@ -30,7 +33,7 @@ def test_get_seqvar_transcripts_success():

client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_seqvar_transcripts(example_seqvar)
assert response == TranscriptsSeqVar(**mock_response)
assert response == TranscriptsSeqVar.model_validate(mock_response)


@responses.activate
Expand All @@ -46,7 +49,7 @@ def test_get_seqvar_transcripts_failure():

client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_seqvar_transcripts(example_seqvar)
assert response == TranscriptsSeqVar(**mock_response)
assert response == TranscriptsSeqVar.model_validate(mock_response)


@responses.activate
Expand All @@ -61,3 +64,49 @@ def test_get_seqvar_transcripts_500():
client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_seqvar_transcripts(example_seqvar)
assert response == None


@responses.activate
def test_get_gene_transcripts_success():
"""Test get_gene_transcripts method with a successful response."""
mock_response = get_json_object("mehari_genes_success.json")
responses.add(
responses.GET,
f"https://example.com/mehari/genes/txs?hgncId={example_hgnc_id}&genomeBuild=GENOME_BUILD_GRCH38",
json=mock_response,
status=200,
)

client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_gene_transcripts(example_hgnc_id, GenomeRelease.GRCh38)
assert response == GeneTranscripts.model_validate(mock_response)


@responses.activate
def test_get_gene_transcripts_failure():
"""Test get_gene_transcripts method with a failed response."""
mock_response = get_json_object("mehari_genes_failure.json")
responses.add(
responses.GET,
f"https://example.com/mehari/genes/txs?hgncId={example_hgnc_id}&genomeBuild=GENOME_BUILD_GRCH38",
json=mock_response,
status=200,
)

client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_gene_transcripts(example_hgnc_id, GenomeRelease.GRCh38)
assert response == None


@responses.activate
def test_get_gene_transcripts_500():
"""Test get_gene_transcripts method with a 500 response."""
responses.add(
responses.GET,
f"https://example.com/mehari/genes/txs?hgncId={example_hgnc_id}&genomeBuild=GENOME_BUILD_GRCH38",
status=500,
)

client = MehariClient(api_base_url="https://example.com/mehari")
response = client.get_gene_transcripts(example_hgnc_id, GenomeRelease.GRCh38)
assert response == None

0 comments on commit 933933e

Please sign in to comment.