|
| 1 | +import pytest |
1 | 2 | from fastapi.testclient import TestClient
|
2 | 3 | from sqlalchemy.orm.session import Session
|
3 | 4 |
|
@@ -130,3 +131,42 @@ def test_generate_bulk_download_filtered(
|
130 | 131 | # Verify that the bulk download cannot be accessed a second time
|
131 | 132 | resp = client.get(f"/api/bulk_download/{id_}")
|
132 | 133 | 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