Skip to content

Commit 7b02462

Browse files
committed
update test clients
1 parent 715e56f commit 7b02462

4 files changed

+251
-98
lines changed

tests/unit/anyvar/cassettes/test_clients/test_get_registered_allele_expressions_populated[anyvar_http_client].yaml

Lines changed: 0 additions & 67 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
interactions:
2+
- request:
3+
body: '{"definition": "7-140753336-A-T", "assembly_name": "GRCh38", "input_type":
4+
"Allele"}'
5+
headers: {}
6+
method: PUT
7+
uri: http://localhost:8000/variation
8+
response:
9+
body:
10+
string: '{"messages":[],"object":{"id":"ga4gh:VA.Otc5ovrw906Ack087o1fhegB4jDRqCAe","type":"Allele","digest":"Otc5ovrw906Ack087o1fhegB4jDRqCAe","location":{"id":"ga4gh:SL.nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","type":"SequenceLocation","digest":"nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"},"start":140753335,"end":140753336},"state":{"type":"LiteralSequenceExpression","sequence":"T"}},"object_id":"ga4gh:VA.Otc5ovrw906Ack087o1fhegB4jDRqCAe"}'
11+
headers: {}
12+
status:
13+
code: 200
14+
message: OK
15+
- request:
16+
body: '{"definition": "Y-2781704-G-G", "assembly_name": "GRCh38", "input_type":
17+
"Allele"}'
18+
headers: {}
19+
method: PUT
20+
uri: http://localhost:8000/variation
21+
response:
22+
body:
23+
string: '{"messages":[],"object":{"id":"ga4gh:VA.0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","type":"Allele","digest":"0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","location":{"id":"ga4gh:SL.JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","type":"SequenceLocation","digest":"JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781703,"end":2781704},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"G","repeatSubunitLength":1}},"object_id":"ga4gh:VA.0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC"}'
24+
headers: {}
25+
status:
26+
code: 200
27+
message: OK
28+
- request:
29+
body: '{"definition": "Y-2781761-C-C", "assembly_name": "GRCh38", "input_type":
30+
"Allele"}'
31+
headers: {}
32+
method: PUT
33+
uri: http://localhost:8000/variation
34+
response:
35+
body:
36+
string: '{"messages":[],"object":{"id":"ga4gh:VA.R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","type":"Allele","digest":"R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"C","repeatSubunitLength":1}},"object_id":"ga4gh:VA.R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw"}'
37+
headers: {}
38+
status:
39+
code: 200
40+
message: OK
41+
- request:
42+
body: '{"definition": "Y-2781761-C-A", "assembly_name": "GRCh38", "input_type":
43+
"Allele"}'
44+
headers: {}
45+
method: PUT
46+
uri: http://localhost:8000/variation
47+
response:
48+
body:
49+
string: '{"messages":[],"object":{"id":"ga4gh:VA.9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","type":"Allele","digest":"9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"LiteralSequenceExpression","sequence":"A"}},"object_id":"ga4gh:VA.9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD"}'
50+
headers: {}
51+
status:
52+
code: 200
53+
message: OK
54+
- request:
55+
body: '{"definition": "Y-2781761-CA-C", "assembly_name": "GRCh38", "input_type":
56+
"Allele"}'
57+
headers: {}
58+
method: PUT
59+
uri: http://localhost:8000/variation
60+
response:
61+
body:
62+
string: '{"messages":[],"object":{"id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","type":"Allele","digest":"yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","location":{"id":"ga4gh:SL.JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","type":"SequenceLocation","digest":"JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781761,"end":2781785},"state":{"type":"ReferenceLengthExpression","length":23,"sequence":"AAAAAAAAAAAAAAAAAAAAAAA","repeatSubunitLength":1}},"object_id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg"}'
63+
headers: {}
64+
status:
65+
code: 200
66+
message: OK
67+
- request:
68+
body: '{"definition": "7-140753336-A-T", "assembly_name": "GRCh38", "input_type":
69+
"Allele"}'
70+
headers: {}
71+
method: POST
72+
uri: http://localhost:8000/variation
73+
response:
74+
body:
75+
string: '{"messages":[],"data":{"id":"ga4gh:VA.Otc5ovrw906Ack087o1fhegB4jDRqCAe","type":"Allele","digest":"Otc5ovrw906Ack087o1fhegB4jDRqCAe","location":{"id":"ga4gh:SL.nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","type":"SequenceLocation","digest":"nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"},"start":140753335,"end":140753336},"state":{"type":"LiteralSequenceExpression","sequence":"T"}}}'
76+
headers: {}
77+
status:
78+
code: 200
79+
message: OK
80+
- request:
81+
body: '{"definition": "Y-2781704-G-G", "assembly_name": "GRCh38", "input_type":
82+
"Allele"}'
83+
headers: {}
84+
method: POST
85+
uri: http://localhost:8000/variation
86+
response:
87+
body:
88+
string: '{"messages":[],"data":{"id":"ga4gh:VA.0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","type":"Allele","digest":"0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","location":{"id":"ga4gh:SL.JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","type":"SequenceLocation","digest":"JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781703,"end":2781704},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"G","repeatSubunitLength":1}}}'
89+
headers: {}
90+
status:
91+
code: 200
92+
message: OK
93+
- request:
94+
body: '{"definition": "Y-2781761-C-C", "assembly_name": "GRCh38", "input_type":
95+
"Allele"}'
96+
headers: {}
97+
method: POST
98+
uri: http://localhost:8000/variation
99+
response:
100+
body:
101+
string: '{"messages":[],"data":{"id":"ga4gh:VA.R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","type":"Allele","digest":"R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"C","repeatSubunitLength":1}}}'
102+
headers: {}
103+
status:
104+
code: 200
105+
message: OK
106+
- request:
107+
body: '{"definition": "Y-2781761-C-A", "assembly_name": "GRCh38", "input_type":
108+
"Allele"}'
109+
headers: {}
110+
method: POST
111+
uri: http://localhost:8000/variation
112+
response:
113+
body:
114+
string: '{"messages":[],"data":{"id":"ga4gh:VA.9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","type":"Allele","digest":"9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"LiteralSequenceExpression","sequence":"A"}}}'
115+
headers: {}
116+
status:
117+
code: 200
118+
message: OK
119+
- request:
120+
body: '{"definition": "Y-2781761-CA-C", "assembly_name": "GRCh38", "input_type":
121+
"Allele"}'
122+
headers: {}
123+
method: POST
124+
uri: http://localhost:8000/variation
125+
response:
126+
body:
127+
string: '{"messages":[],"data":{"id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","type":"Allele","digest":"yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","location":{"id":"ga4gh:SL.JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","type":"SequenceLocation","digest":"JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781761,"end":2781785},"state":{"type":"ReferenceLengthExpression","length":23,"sequence":"AAAAAAAAAAAAAAAAAAAAAAA","repeatSubunitLength":1}}}'
128+
headers: {}
129+
status:
130+
code: 200
131+
message: OK
132+
version: 1
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
interactions:
2+
- request:
3+
body: '{"definition": "7-140753336-A-T", "assembly_name": "GRCh38", "input_type":
4+
"Allele"}'
5+
headers: {}
6+
method: PUT
7+
uri: http://localhost:8000/variation
8+
response:
9+
body:
10+
string: '{"messages":[],"object":{"id":"ga4gh:VA.Otc5ovrw906Ack087o1fhegB4jDRqCAe","type":"Allele","digest":"Otc5ovrw906Ack087o1fhegB4jDRqCAe","location":{"id":"ga4gh:SL.nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","type":"SequenceLocation","digest":"nhul5x5P_fKjGEpY9PEkMIekJfZaKom2","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"},"start":140753335,"end":140753336},"state":{"type":"LiteralSequenceExpression","sequence":"T"}},"object_id":"ga4gh:VA.Otc5ovrw906Ack087o1fhegB4jDRqCAe"}'
11+
headers: {}
12+
status:
13+
code: 200
14+
message: OK
15+
- request:
16+
body: '{"definition": "Y-2781704-G-G", "assembly_name": "GRCh38", "input_type":
17+
"Allele"}'
18+
headers: {}
19+
method: PUT
20+
uri: http://localhost:8000/variation
21+
response:
22+
body:
23+
string: '{"messages":[],"object":{"id":"ga4gh:VA.0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","type":"Allele","digest":"0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC","location":{"id":"ga4gh:SL.JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","type":"SequenceLocation","digest":"JqeJ3V-75edWj03xbzw1gtSw3qPQVV2D","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781703,"end":2781704},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"G","repeatSubunitLength":1}},"object_id":"ga4gh:VA.0ydMeUtVfU9ttSoziRnp0Nv8OMN359HC"}'
24+
headers: {}
25+
status:
26+
code: 200
27+
message: OK
28+
- request:
29+
body: '{"definition": "Y-2781761-C-C", "assembly_name": "GRCh38", "input_type":
30+
"Allele"}'
31+
headers: {}
32+
method: PUT
33+
uri: http://localhost:8000/variation
34+
response:
35+
body:
36+
string: '{"messages":[],"object":{"id":"ga4gh:VA.R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","type":"Allele","digest":"R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"ReferenceLengthExpression","length":1,"sequence":"C","repeatSubunitLength":1}},"object_id":"ga4gh:VA.R4kbmdsn5VldGrBiAaByO5N9zM3qCSFw"}'
37+
headers: {}
38+
status:
39+
code: 200
40+
message: OK
41+
- request:
42+
body: '{"definition": "Y-2781761-C-A", "assembly_name": "GRCh38", "input_type":
43+
"Allele"}'
44+
headers: {}
45+
method: PUT
46+
uri: http://localhost:8000/variation
47+
response:
48+
body:
49+
string: '{"messages":[],"object":{"id":"ga4gh:VA.9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","type":"Allele","digest":"9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD","location":{"id":"ga4gh:SL.sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","type":"SequenceLocation","digest":"sYiBcbbgF-1CANNCTfQ6zwZOU0iHhymR","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781760,"end":2781761},"state":{"type":"LiteralSequenceExpression","sequence":"A"}},"object_id":"ga4gh:VA.9VDxL0stMBOZwcTKw3yb3UoWQkpaI9OD"}'
50+
headers: {}
51+
status:
52+
code: 200
53+
message: OK
54+
- request:
55+
body: '{"definition": "Y-2781761-CA-C", "assembly_name": "GRCh38", "input_type":
56+
"Allele"}'
57+
headers: {}
58+
method: PUT
59+
uri: http://localhost:8000/variation
60+
response:
61+
body:
62+
string: '{"messages":[],"object":{"id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","type":"Allele","digest":"yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","location":{"id":"ga4gh:SL.JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","type":"SequenceLocation","digest":"JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781761,"end":2781785},"state":{"type":"ReferenceLengthExpression","length":23,"sequence":"AAAAAAAAAAAAAAAAAAAAAAA","repeatSubunitLength":1}},"object_id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg"}'
63+
headers: {}
64+
status:
65+
code: 200
66+
message: OK
67+
- request:
68+
body: '{"definition": "Y-2781761-A-C", "assembly_name": "GRCh38", "input_type":
69+
"Allele"}'
70+
headers: {}
71+
method: PUT
72+
uri: http://localhost:8000/variation
73+
response:
74+
body:
75+
string: '{"detail":"Reference mismatch at GRCh38:Y position 2781760-2781761
76+
(input gave ''A'' but correct ref is ''C'')"}'
77+
headers: {}
78+
status:
79+
code: 422
80+
message: Unprocessable Entity
81+
- request:
82+
body: '{"definition": "Y-2781761-A-C", "assembly_name": "GRCh38", "input_type":
83+
"Allele"}'
84+
headers: {}
85+
method: PUT
86+
uri: http://localhost:8000/variation
87+
response:
88+
body:
89+
string: '{"detail":"Reference mismatch at GRCh38:Y position 2781760-2781761
90+
(input gave ''A'' but correct ref is ''C'')"}'
91+
headers: {}
92+
status:
93+
code: 422
94+
message: Unprocessable Entity
95+
- request:
96+
body: '{"definition": "Y-2781761-CA-C", "assembly_name": "GRCh38", "input_type":
97+
"Allele"}'
98+
headers: {}
99+
method: PUT
100+
uri: http://localhost:8000/variation
101+
response:
102+
body:
103+
string: '{"messages":[],"object":{"id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","type":"Allele","digest":"yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg","location":{"id":"ga4gh:SL.JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","type":"SequenceLocation","digest":"JsFGLKlUDocinf7oWTXAvVT2WOso7R9u","sequenceReference":{"type":"SequenceReference","refgetAccession":"SQ.8_liLu1aycC0tPQPFmUaGXJLDs5SbPZ5"},"start":2781761,"end":2781785},"state":{"type":"ReferenceLengthExpression","length":23,"sequence":"AAAAAAAAAAAAAAAAAAAAAAA","repeatSubunitLength":1}},"object_id":"ga4gh:VA.yi7A2l0uIUMaInQaJnHU_B2Cf_OuZRJg"}'
104+
headers: {}
105+
status:
106+
code: 200
107+
message: OK
108+
version: 1

tests/unit/anyvar/test_clients.py

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,32 @@
77
AnyVar DB to record new test cassettes)
88
"""
99

10-
import os
11-
1210
import pytest
13-
from anyvar.anyvar import create_storage, create_translator
11+
from anyvar.anyvar import create_storage
1412
from ga4gh.vrs import models
1513

1614
from anyvlm.anyvar.base_client import BaseAnyVarClient
1715
from anyvlm.anyvar.http_client import HttpAnyVarClient
18-
from anyvlm.anyvar.python_client import PythonAnyVarClient
19-
20-
21-
@pytest.fixture(scope="session")
22-
def anyvar_postgres_uri():
23-
"""Create test fixure for AnyVar postgres storage URI"""
24-
uri = os.environ.get(
25-
"ANYVLM_ANYVAR_TEST_STORAGE_URI",
26-
"postgresql://postgres:postgres@localhost:5432/anyvlm_anyvar_test",
27-
)
28-
return uri
2916

3017

3118
@pytest.fixture
32-
def anyvar_python_client(anyvar_postgres_uri: str) -> PythonAnyVarClient:
33-
"""Create test fixture for AnyVar Python Client"""
34-
storage = create_storage(anyvar_postgres_uri)
35-
storage.wipe_db()
36-
translator = create_translator()
37-
return PythonAnyVarClient(translator, storage)
38-
39-
40-
@pytest.fixture
41-
def anyvar_http_client() -> HttpAnyVarClient:
19+
def anyvar_http_client(anyvlm_anyvar_postgres_uri: str) -> HttpAnyVarClient:
4220
"""Create test fixture for AnyVar HTTP client"""
21+
storage = create_storage(anyvlm_anyvar_postgres_uri)
22+
storage.wipe_db()
4323
return HttpAnyVarClient()
4424

4525

4626
@pytest.fixture
47-
def anyvar_populated_python_client(
48-
anyvar_python_client: PythonAnyVarClient, alleles: dict
49-
):
50-
"""Create test fixture for populated AnyVar Python client"""
27+
def anyvar_populated_http_client(
28+
anyvar_http_client: HttpAnyVarClient, alleles: dict
29+
) -> HttpAnyVarClient:
30+
"""Create test fixture for populated AnyVar HTTP client"""
5131
for allele_fixture in alleles.values():
5232
if "vcf_expression" not in allele_fixture:
5333
continue
54-
anyvar_python_client.put_allele_expressions([allele_fixture["vcf_expression"]])
55-
return anyvar_python_client
34+
anyvar_http_client.put_allele_expressions([allele_fixture["vcf_expression"]])
35+
return anyvar_http_client
5636

5737

5838
@pytest.fixture
@@ -68,7 +48,7 @@ def anyvar_client(request):
6848

6949
POPULATED_CLIENTS = [
7050
"anyvar_populated_python_client",
71-
"anyvar_http_client",
51+
"anyvar_populated_http_client",
7252
]
7353

7454

0 commit comments

Comments
 (0)