summaryrefslogtreecommitdiff
path: root/service/test/unit/resources/test_session.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/test/unit/resources/test_session.py')
-rw-r--r--service/test/unit/resources/test_session.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/service/test/unit/resources/test_session.py b/service/test/unit/resources/test_session.py
new file mode 100644
index 00000000..fe47483d
--- /dev/null
+++ b/service/test/unit/resources/test_session.py
@@ -0,0 +1,25 @@
+from twisted.trial import unittest
+from mockito import mock
+from pixelated.resources.session import CSRF_TOKEN_LENGTH, PixelatedSession
+
+
+class TestPixelatedSession(unittest.TestCase):
+
+ def setUp(self):
+ self.pixelated_session = PixelatedSession(mock())
+
+ def test_csrf_token_should_be_configured_length(self):
+ self.assertEqual(len(self.pixelated_session.get_csrf_token()), 2 * CSRF_TOKEN_LENGTH)
+
+ def test_csrf_token_should_be_hexdigested(self):
+ self.assertTrue(all(c in '0123456789abcdef' for c in self.pixelated_session.get_csrf_token()))
+
+ def test_csrf_token_should_always_be_the_same_for_one_session(self):
+ first_csrf_token = self.pixelated_session.get_csrf_token()
+ second_csrf_token = self.pixelated_session.get_csrf_token()
+ self.assertEqual(first_csrf_token, second_csrf_token)
+
+ def test_csrf_token_should_be_different_for_different_session(self):
+ first_csrf_token = self.pixelated_session.get_csrf_token()
+ second_csrf_token = PixelatedSession(mock()).get_csrf_token()
+ self.assertNotEqual(first_csrf_token, second_csrf_token)