Skip to content

Commit da8a2c3

Browse files
committed
tests
1 parent aeb1ba1 commit da8a2c3

File tree

2 files changed

+59
-4
lines changed

2 files changed

+59
-4
lines changed

tests/integration/test_async_client.py

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import httpx
1010
import pytest
11+
from pandas import DataFrame
1112

1213
from re3data import RepositoryNotFoundError, Response, ReturnType
1314
from re3data._resources import Repository, RepositoryName, RepositorySummary
@@ -63,9 +64,19 @@ async def test_client_list_repositories_dict(async_client: AsyncClient, mock_rep
6364
assert isinstance(repository, dict)
6465
assert repository["id"] == "r3d100010371"
6566

66-
# csv
6767

68-
# dataframe
68+
async def test_client_list_repositories_csv(async_client: AsyncClient, mock_repository_list_route: Route) -> None:
69+
response = await async_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+
async def test_client_list_repositories_dataframe(async_client: AsyncClient, mock_repository_list_route: Route) -> None:
76+
response = await async_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
6980

7081

7182
async def test_client_list_repositories_response(async_client: AsyncClient, mock_repository_list_route: Route) -> None:
@@ -143,9 +154,22 @@ async def test_client_get_single_repository_dict(
143154
assert response["re3data.orgIdentifier"] == zenodo_id
144155

145156

146-
# csv
157+
async def test_client_get_single_repository_csv(
158+
async_client: AsyncClient, mock_repository_get_route: Route, zenodo_id: str
159+
) -> None:
160+
response = await async_client.repositories.get(zenodo_id, return_type=ReturnType.CSV)
161+
assert isinstance(response, str)
162+
assert "id,doi,name,link.href" in response
163+
assert '"re3data.orgIdentifier": "r3d100010468",' in response
164+
147165

148-
# dataframe
166+
async def test_client_get_single_repository_dataframe(
167+
async_client: AsyncClient, mock_repository_get_route: Route, zenodo_id: str
168+
) -> None:
169+
response = await async_client.repositories.get(zenodo_id, return_type=ReturnType.DATAFRAME)
170+
assert isinstance(response, DataFrame)
171+
assert "{" in response
172+
assert '"re3data.orgIdentifier": "r3d100010468",' in response
149173

150174

151175
async def test_client_get_single_repository_response(

tests/integration/test_client.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import httpx
1212
import pytest
13+
from pandas import DataFrame
1314

1415
from re3data import RepositoryNotFoundError, Response, ReturnType
1516
from re3data._resources import Repository, RepositoryName, RepositorySummary
@@ -64,6 +65,20 @@ def test_client_list_repositories_dict(client: Client, mock_repository_list_rout
6465
assert repository["id"] == "r3d100010371"
6566

6667

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+
6782
def test_client_list_repositories_response(client: Client, mock_repository_list_route: Route) -> None:
6883
response = client.repositories.list(return_type=ReturnType.RESPONSE)
6984
assert isinstance(response, Response)
@@ -131,6 +146,22 @@ def test_client_get_single_repository_dict(client: Client, mock_repository_get_r
131146
assert response["re3data.orgIdentifier"] == zenodo_id
132147

133148

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+
134165
def test_client_get_single_repository_response(
135166
client: Client, mock_repository_get_route: Route, zenodo_id: str
136167
) -> None:

0 commit comments

Comments
 (0)