Coverage for tests/publisher/snaps/test_release_history_json.py: 100%
35 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
1import responses
2from tests.publisher.endpoint_testing import BaseTestCases
5class GetReleaseHistoryJsonNotAuth(BaseTestCases.EndpointLoggedOut):
6 def setUp(self):
7 snap_name = "test-snap"
8 endpoint_url = "/{}/releases/json".format(snap_name)
10 super().setUp(snap_name=snap_name, endpoint_url=endpoint_url)
13class GetReleasesHistoryJson(BaseTestCases.EndpointLoggedIn):
14 def setUp(self):
15 snap_name = "test-snap"
17 api_url = (
18 "https://dashboard.snapcraft.io/api/v2/snaps/{}"
19 + "/releases?page=1"
20 )
21 api_url = api_url.format(snap_name)
22 endpoint_url = "/{}/releases/json".format(snap_name)
24 super().setUp(
25 snap_name=snap_name,
26 endpoint_url=endpoint_url,
27 api_url=api_url,
28 method_endpoint="GET",
29 method_api="GET",
30 )
32 @responses.activate
33 def test_get_releases(self):
34 responses.add(responses.GET, self.api_url, json={}, status=200)
36 response = self.client.get(self.endpoint_url)
38 self.check_call_by_api_url(responses.calls)
39 self.assertEqual(response.status_code, 200)
40 assert response.json == {}
42 @responses.activate
43 def test_404(self):
44 payload = {"error_list": []}
45 responses.add(responses.GET, self.api_url, json=payload, status=404)
47 response = self.client.get(self.endpoint_url)
49 self.check_call_by_api_url(responses.calls)
50 self.assertEqual(response.status_code, 404)
52 @responses.activate
53 def test_5XX(self):
54 payload = {"error_list": []}
55 responses.add(responses.GET, self.api_url, json=payload, status=500)
57 response = self.client.get(self.endpoint_url)
59 self.check_call_by_api_url(responses.calls)
60 self.assertEqual(response.status_code, 502)