Coverage for tests/tests_authentication.py: 100%
22 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-15 22:43 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-15 22:43 +0000
1import unittest
3from webapp.authentication import (
4 SESSION_AUTH_KEYS,
5 SESSION_INTEGRATION_KEYS,
6 SESSION_DATA_KEYS,
7 empty_session,
8 reset_auth_session,
9)
12class TestResetAuthSession(unittest.TestCase):
13 def test_reset_auth_session_clears_auth_keys(self):
14 session = {key: "value" for key in SESSION_AUTH_KEYS}
15 reset_auth_session(session)
16 for key in SESSION_AUTH_KEYS:
17 self.assertNotIn(key, session)
19 def test_reset_auth_session_preserves_integration_keys(self):
20 session = {key: f"{key}-value" for key in SESSION_INTEGRATION_KEYS}
21 reset_auth_session(session)
22 for key in SESSION_INTEGRATION_KEYS:
23 self.assertEqual(session[key], f"{key}-value")
25 def test_empty_session_clears_everything(self):
26 session = {key: "value" for key in SESSION_DATA_KEYS}
27 empty_session(session)
28 for key in SESSION_DATA_KEYS:
29 self.assertNotIn(key, session)
31 def test_session_data_keys_is_union(self):
32 self.assertEqual(
33 set(SESSION_DATA_KEYS),
34 set(SESSION_AUTH_KEYS) | set(SESSION_INTEGRATION_KEYS),
35 )
37 def test_session_keys_are_disjoint(self):
38 self.assertEqual(
39 set(SESSION_AUTH_KEYS).intersection(set(SESSION_INTEGRATION_KEYS)),
40 set(),
41 )