Coverage for tests/publisher/tests_account_logout.py: 100%
19 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-25 22:09 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-25 22:09 +0000
1import time
3import responses
4from tests.publisher.endpoint_testing import BaseTestCases
5from webapp.authentication import SESSION_DATA_KEYS
7# Make sure tests fail on stray responses.
8responses.mock.assert_all_requests_are_fired = True
11class LogoutRedirects(BaseTestCases.BaseAppTesting):
12 def setUp(self):
13 endpoint_url = "/logout"
15 super().setUp(snap_name=None, endpoint_url=endpoint_url, api_url=None)
17 @responses.activate
18 def test_logout(self):
19 with self.client.session_transaction() as session:
20 for key in SESSION_DATA_KEYS:
21 session[key] = "MOCK VALUE"
22 session["pending_snap_unregister"] = {
23 "authorization_id": "test-action",
24 "snap_name": "test-snap",
25 "identity_url": "https://login.ubuntu.com/test-user",
26 "expires_at": time.time() + 300,
27 "root_macaroon": "MOCK VALUE",
28 }
30 response = self.client.get(self.endpoint_url)
32 self.assertEqual(302, response.status_code)
34 self.assertEqual("/", response.location)
36 self.assertIn("session=;", response.headers.get("Set-Cookie"))