from pathlib import Path from types import SimpleNamespace import importlib.util import unittest p=Path(__file__).resolve().parents[1]/'scripts/t03_request_time.py' s=importlib.util.spec_from_file_location('request_time',p);m=importlib.util.module_from_spec(s);s.loader.exec_module(m) class TokenTimeTests(unittest.TestCase): def test_full_interval(self):m.validate_token_time({'iat':10,'exp':13},SimpleNamespace(lower_ns=11000000000,upper_ns=12000000000)) def test_boundaries(self): for claims in [{'iat':12,'exp':20},{'iat':10,'exp':12},{'iat':10,'exp':13,'nbf':12},{'iat':True,'exp':13}]: with self.subTest(claims=claims),self.assertRaises(ValueError):m.validate_token_time(claims,SimpleNamespace(lower_ns=11000000000,upper_ns=12000000000)) if __name__=='__main__':unittest.main()