File size: 918 Bytes
340ee2f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
26
27
import unittest

from app.runtime import RuntimeState


class RuntimeStateTests(unittest.TestCase):
    def test_bootstrap_code_is_one_time(self) -> None:
        state = RuntimeState()
        code = state.create_bootstrap_code()
        self.assertTrue(state.verify_bootstrap_code(code))
        self.assertTrue(state.consume_bootstrap_code(code))
        self.assertFalse(state.verify_bootstrap_code(code))

    def test_password_and_session(self) -> None:
        state = RuntimeState()
        state.set_password("a-long-admin-password")
        self.assertTrue(state.verify_password("a-long-admin-password"))
        self.assertFalse(state.verify_password("wrong-password"))
        session = state.create_session()
        self.assertTrue(state.valid_session(session))
        state.revoke_session(session)
        self.assertFalse(state.valid_session(session))


if __name__ == "__main__":
    unittest.main()