|
10 | 10 |
|
11 | 11 | import httpx |
12 | 12 | import pytest |
| 13 | +from pandas import DataFrame |
13 | 14 |
|
14 | 15 | from re3data import RepositoryNotFoundError, Response, ReturnType |
15 | 16 | from re3data._resources import Repository, RepositoryName, RepositorySummary |
@@ -64,6 +65,20 @@ def test_client_list_repositories_dict(client: Client, mock_repository_list_rout |
64 | 65 | assert repository["id"] == "r3d100010371" |
65 | 66 |
|
66 | 67 |
|
| 68 | +def test_client_list_repositories_csv(client: Client, mock_repository_list_route: Route) -> None: |
| 69 | + response = client.repositories.list(return_type=ReturnType.CSV) |
| 70 | + assert isinstance(response, str) |
| 71 | + assert '"id": "r3d100010371",' in response |
| 72 | + assert '"doi": "https://doi.org/10.17616/R3P594",' in response |
| 73 | + |
| 74 | + |
| 75 | +def test_client_list_repositories_dataframe(client: Client, mock_repository_list_route: Route) -> None: |
| 76 | + response = client.repositories.list(return_type=ReturnType.DATAFRAME) |
| 77 | + assert isinstance(response, str) |
| 78 | + assert '"id": "r3d100010371",' in response |
| 79 | + assert '"doi": "https://doi.org/10.17616/R3P594",' in response |
| 80 | + |
| 81 | + |
67 | 82 | def test_client_list_repositories_response(client: Client, mock_repository_list_route: Route) -> None: |
68 | 83 | response = client.repositories.list(return_type=ReturnType.RESPONSE) |
69 | 84 | assert isinstance(response, Response) |
@@ -131,6 +146,22 @@ def test_client_get_single_repository_dict(client: Client, mock_repository_get_r |
131 | 146 | assert response["re3data.orgIdentifier"] == zenodo_id |
132 | 147 |
|
133 | 148 |
|
| 149 | +def test_client_get_single_repository_csv(client: Client, mock_repository_get_route: Route, zenodo_id: str) -> None: |
| 150 | + response = client.repositories.get(zenodo_id, return_type=ReturnType.CSV) |
| 151 | + assert isinstance(response, str) |
| 152 | + assert "id,doi,name,link.href" in response |
| 153 | + assert '"re3data.orgIdentifier": "r3d100010468",' in response |
| 154 | + |
| 155 | + |
| 156 | +def test_client_get_single_repository_dataframe( |
| 157 | + client: Client, mock_repository_get_route: Route, zenodo_id: str |
| 158 | +) -> None: |
| 159 | + response = client.repositories.get(zenodo_id, return_type=ReturnType.DATAFRAME) |
| 160 | + assert isinstance(response, DataFrame) |
| 161 | + assert "{" in response |
| 162 | + assert '"re3data.orgIdentifier": "r3d100010468",' in response |
| 163 | + |
| 164 | + |
134 | 165 | def test_client_get_single_repository_response( |
135 | 166 | client: Client, mock_repository_get_route: Route, zenodo_id: str |
136 | 167 | ) -> None: |
|
0 commit comments