@@ -64,14 +64,35 @@ def test_repository_no_args_displays_help() -> None:
6464 assert "Options" in result .output
6565
6666
67- def test_repository_list (mock_repository_list_route : Route ) -> None :
67+ def test_repository_list_default_return_type (mock_repository_list_route : Route ) -> None :
6868 result = runner .invoke (app , ["repository" , "list" ])
6969 assert result .exit_code == 0
7070 assert "<list>" in result .output
7171 assert "<repository>" in result .output
7272 assert "<id>" in result .output
7373
7474
75+ def test_repository_list_xml (mock_repository_list_route : Route ) -> None :
76+ result = runner .invoke (app , ["repository" , "list" , "--return-type" , "xml" ])
77+ assert result .exit_code == 0
78+ assert "<list>" in result .output
79+ assert "<repository>" in result .output
80+ assert "<id>" in result .output
81+
82+
83+ def test_repository_list_response (mock_repository_list_route : Route ) -> None :
84+ result = runner .invoke (app , ["repository" , "list" , "--return-type" , "response" ])
85+ assert result .exit_code == 0
86+ assert "<Response [200 OK]>" in result .output
87+
88+
89+ def test_repository_list_invalid_return_type (mock_repository_list_route : Route ) -> None :
90+ result = runner .invoke (app , ["repository" , "list" , "--return-type" , "json" ])
91+ assert result .exit_code == 2
92+ assert "Error" in result .output
93+ assert "Invalid value for '--return-type': 'json'" in result .output
94+
95+
7596def test_repository_get_without_repository_id (mock_repository_list_route : Route ) -> None :
7697 result = runner .invoke (app , ["repository" , "get" ])
7798 assert result .exit_code == 2
@@ -80,13 +101,39 @@ def test_repository_get_without_repository_id(mock_repository_list_route: Route)
80101
81102@pytest .mark .default_cassette ("repository.yaml" )
82103@pytest .mark .vcr ()
83- def test_repository_get_with_repository_id (zenodo_id : str ) -> None :
104+ def test_repository_get_with_repository_id_default_return_type (zenodo_id : str ) -> None :
84105 result = runner .invoke (app , ["repository" , "get" , zenodo_id ])
85106 assert result .exit_code == 0
86107 assert "<r3d:repository>" in result .output
87108 assert "<r3d:re3data.orgIdentifier>r3d100010468" in result .output
88109
89110
111+ @pytest .mark .default_cassette ("repository.yaml" )
112+ @pytest .mark .vcr ()
113+ def test_repository_get_with_repository_id_xml (zenodo_id : str ) -> None :
114+ result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "xml" ])
115+ assert result .exit_code == 0
116+ assert "<r3d:repository>" in result .output
117+ assert "<r3d:re3data.orgIdentifier>r3d100010468" in result .output
118+
119+
120+ @pytest .mark .default_cassette ("repository.yaml" )
121+ @pytest .mark .vcr ()
122+ def test_repository_get_with_repository_id_response (zenodo_id : str ) -> None :
123+ result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "response" ])
124+ assert result .exit_code == 0
125+ assert "<Response [200 OK]>" in result .output
126+
127+
128+ @pytest .mark .default_cassette ("repository.yaml" )
129+ @pytest .mark .vcr ()
130+ def test_repository_get_with_repository_id_invalid_return_type (zenodo_id : str ) -> None :
131+ result = runner .invoke (app , ["repository" , "get" , zenodo_id , "--return-type" , "json" ])
132+ assert result .exit_code == 2
133+ assert "Error" in result .output
134+ assert "Invalid value for '--return-type': 'json'" in result .output
135+
136+
90137@pytest .mark .default_cassette ("repository.yaml" )
91138@pytest .mark .vcr ()
92139def test_repository_get_with_invalid_repository_id () -> None :
0 commit comments