summaryrefslogtreecommitdiff
path: root/service/test/unit/resources/test_session.py
blob: fe47483d3c56c4ac27a863985c8ab20a0f46b00b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)