Skip to content

Commit 89976a6

Browse files
committed
Add tests for HTML content
1 parent d582fdd commit 89976a6

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

tests/test_download.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import pytest
12
from fastapi.testclient import TestClient
23
from sqlalchemy.orm.session import Session
34

@@ -130,3 +131,42 @@ def test_generate_bulk_download_filtered(
130131
# Verify that the bulk download cannot be accessed a second time
131132
resp = client.get(f"/api/bulk_download/{id_}")
132133
assert resp.status_code == 410
134+
135+
136+
@pytest.mark.parametrize(
137+
("data_object_type", "expected_status_code"), [("Kraken2 Krona Plot", 200), ("foo", 400)]
138+
)
139+
def test_get_url_for_html_content_unauthenticated(
140+
db: Session,
141+
client: TestClient,
142+
data_object_type: str,
143+
expected_status_code: int,
144+
):
145+
data_object = fakes.DataObjectFactory(
146+
url="https://data.microbiomedata.org/data/dob",
147+
workflow_type=WorkflowActivityTypeEnum.metagenome_assembly.value,
148+
file_type=data_object_type,
149+
)
150+
db.commit()
151+
resp = client.get(f"/api/data_object/{data_object.id}/get_html_content_url")
152+
assert resp.status_code == expected_status_code
153+
154+
155+
@pytest.mark.parametrize(
156+
("data_object_type", "expected_status_code"), [("Kraken2 Krona Plot", 200), ("foo", 400)]
157+
)
158+
def test_get_url_for_html_content_authenticated(
159+
db: Session,
160+
client: TestClient,
161+
logged_in_user,
162+
data_object_type: str,
163+
expected_status_code: int,
164+
):
165+
data_object = fakes.DataObjectFactory(
166+
url="https://data.microbiomedata.org/data/dob",
167+
workflow_type=WorkflowActivityTypeEnum.metagenome_assembly.value,
168+
file_type=data_object_type,
169+
)
170+
db.commit()
171+
resp = client.get(f"/api/data_object/{data_object.id}/get_html_content_url")
172+
assert resp.status_code == expected_status_code

0 commit comments

Comments
 (0)