@@ -88,6 +88,13 @@ def test_repository_list_xml(mock_repository_list_route: Route) -> None:
8888 assert "<doi>https://doi.org/10.17616/R3P594</doi>" in result .output
8989
9090
91+ def test_repository_list_json (mock_repository_list_route : Route ) -> None :
92+ result = runner .invoke (app , ["repository" , "list" , "--return-type" , "json" ])
93+ assert result .exit_code == 0
94+ assert '"id": "r3d100010371",' in result .output
95+ assert '"doi": "https://doi.org/10.17616/R3P594",' in result .output
96+
97+
9198def test_repository_list_response (mock_repository_list_route : Route ) -> None :
9299 result = runner .invoke (app , ["repository" , "list" , "--return-type" , "response" ])
93100 assert result .exit_code == 0
@@ -103,10 +110,10 @@ def test_repository_list_dict(mock_repository_list_route: Route) -> None:
103110
104111
105112def test_repository_list_invalid_return_type (mock_repository_list_route : Route ) -> None :
106- result = runner .invoke (app , ["repository" , "list" , "--return-type" , "json " ])
113+ result = runner .invoke (app , ["repository" , "list" , "--return-type" , "excel " ])
107114 assert result .exit_code == 2
108115 assert "Error" in result .output
109- assert "Invalid value for '--return-type': 'json '" in result .output
116+ assert "Invalid value for '--return-type': 'excel '" in result .output
110117
111118
112119def test_repository_list_query (mock_repository_list_query_route : Route ) -> None :
@@ -150,6 +157,13 @@ def test_repository_get_with_repository_id_xml(mock_repository_get_route: Route,
150157 assert "<r3d:re3data.orgIdentifier>r3d100010468" in result .output
151158
152159
160+ def test_repository_get_with_repository_id_json (mock_repository_get_route : Route , zenodo_id : str ) -> None :
161+ result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "json" ])
162+ assert result .exit_code == 0
163+ assert "{" in result .output
164+ assert '"re3data.orgIdentifier": "r3d100010468",' in result .output
165+
166+
153167def test_repository_get_with_repository_id_dict (mock_repository_get_route : Route , zenodo_id : str ) -> None :
154168 result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "dict" ])
155169 assert result .exit_code == 0
@@ -165,10 +179,10 @@ def test_repository_get_with_repository_id_response(mock_repository_get_route: R
165179
166180
167181def test_repository_get_with_repository_id_invalid_return_type (zenodo_id : str ) -> None :
168- result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "json " ])
182+ result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "excel " ])
169183 assert result .exit_code == 2
170184 assert "Error" in result .output
171- assert "Invalid value for '--return-type': 'json '" in result .output
185+ assert "Invalid value for '--return-type': 'excel '" in result .output
172186
173187
174188@pytest .mark .default_cassette ("repository.yaml" )
0 commit comments