Coverage for tests/publisher/snaps/tests_publicise.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import responses
2from tests.publisher.endpoint_testing import BaseTestCases
5class PublicisePageNotAuth(BaseTestCases.EndpointLoggedOut):
6 def setUp(self):
7 snap_name = "test-snap"
8 endpoint_url = "/{}/publicise".format(snap_name)
10 super().setUp(snap_name=snap_name, endpoint_url=endpoint_url)
13class GetPublicisePage(BaseTestCases.EndpointLoggedInErrorHandling):
14 def setUp(self):
15 snap_name = "test-snap"
17 api_url = "https://dashboard.snapcraft.io/dev/api/snaps/info/{}"
18 api_url = api_url.format(snap_name)
19 endpoint_url = "/{}/publicise".format(snap_name)
21 super().setUp(
22 snap_name=snap_name,
23 endpoint_url=endpoint_url,
24 method_endpoint="GET",
25 api_url=api_url,
26 method_api="GET",
27 )
29 @responses.activate
30 def test_page_not_found(self):
31 payload = {"error_list": []}
32 responses.add(responses.GET, self.api_url, json=payload, status=404)
34 response = self.client.get(self.endpoint_url)
36 self.check_call_by_api_url(responses.calls)
38 assert response.status_code == 404
39 self.assert_template_used("404.html")
41 @responses.activate
42 def test_publicise_logged_in(self):
43 snap_name = "test-snap"
45 payload = {
46 "snap_id": "id",
47 "title": "test snap",
48 "private": False,
49 "snap_name": snap_name,
50 "channel_maps_list": [],
51 "keywords": [],
52 "publisher": {"display-name": "test"},
53 }
55 responses.add(responses.GET, self.api_url, json=payload, status=200)
57 response = self.client.get(self.endpoint_url)
59 self.check_call_by_api_url(responses.calls)
61 assert response.status_code == 200
62 self.assert_template_used("publisher/publicise/store_buttons.html")
64 self.assert_context("snap_id", "id")
65 self.assert_context("snap_title", "test snap")
66 self.assert_context("snap_name", snap_name)
68 @responses.activate
69 def test_publicise_private_snap(self):
70 snap_name = "test-snap"
72 payload = {
73 "snap_id": "id",
74 "title": "test snap",
75 "private": True,
76 "snap_name": snap_name,
77 "channel_maps_list": [],
78 "keywords": [],
79 "publisher": {"display-name": "test"},
80 }
82 responses.add(responses.GET, self.api_url, json=payload, status=200)
84 response = self.client.get(self.endpoint_url)
86 self.check_call_by_api_url(responses.calls)
88 assert response.status_code == 200
89 self.assert_template_used("publisher/publicise/store_buttons.html")
91 self.assert_context("private", True)