""" test generation and verification of tokens """ from test.common import payload, pub_keys, priv_keys, algs, generated_keys, \ clock_tick, clock_load from datetime import timedelta, datetime from pyvows import Vows, expect import jwt keys = payload.keys() keys += ['exp', 'nbf', 'iat', 'jti'] #pylint: disable=R0912 def _setup(alg, priv_type, pub_type, exp, iat_skew, nbf, keyless, expected): """ setup tests """ privk = None if keyless else priv_keys[alg][priv_type] pubk = None if keyless else pub_keys[alg][pub_type] jtis = {} @Vows.batch #pylint: disable=W0612 class GenerateJWT(Vows.Context): #pylint: enable=W0612 """ generate token """ def topic(self): """ generate tokens, one with lifetime, one with expires """ lt = timedelta(seconds=exp) now = datetime.utcnow() not_before = (now + timedelta(minutes=nbf)) if nbf else None if callable(privk): token = privk(payload, alg, lt, not_before=not_before) else: token = jwt.generate_jwt(payload, privk, alg, lt, not_before=not_before)
""" test generation and verification of tokens """ # pylint: disable=wrong-import-order from test.common import payload, pub_keys, priv_keys, algs, generated_keys, \ clock_tick, clock_load from test import python_jwt as jwt from datetime import timedelta, datetime from pyvows import Vows, expect from jwcrypto.common import base64url_decode keys = list(payload.keys()) keys += ['exp', 'nbf', 'iat', 'jti'] def is_string(obj): """ Duck type detect string """ try: #pylint: disable=unused-variable obj2 = obj + '' return True except TypeError: return False #pylint: disable=R0912 def _setup(alg, priv_type, pub_type, exp, iat_skew, nbf, jti_size, keyless, expected): """ setup tests """ privk = None if keyless else priv_keys[alg][priv_type] pubk = None if keyless else pub_keys[alg][pub_type] jtis = {} @Vows.batch #pylint: disable=W0612 class GenerateJWT(Vows.Context): #pylint: enable=W0612
""" test generation and verification of tokens """ # pylint: disable=wrong-import-order from test.common import payload, pub_keys, priv_keys, algs, generated_keys, \ clock_tick, clock_load from test import python_jwt as jwt from datetime import timedelta, datetime from pyvows import Vows, expect from jwcrypto.common import base64url_decode keys = list(payload.keys()) keys += ['exp', 'nbf', 'iat', 'jti'] def is_string(obj): """ Duck type detect string """ try: #pylint: disable=unused-variable obj2 = obj + '' return True except TypeError: return False #pylint: disable=R0912 def _setup(alg, priv_type, pub_type, exp, iat_skew, nbf, jti_size, keyless, expected): """ setup tests """ privk = None if keyless else priv_keys[alg][priv_type] pubk = None if keyless else pub_keys[alg][pub_type] jtis = {}
""" test generation and verification of tokens """ from test.common import payload, pub_keys, priv_keys, algs, generated_keys, \ clock_tick, clock_load from datetime import timedelta, datetime from pyvows import Vows, expect import jwt keys = payload.keys() keys += ['exp', 'nbf', 'iat', 'jti'] #pylint: disable=R0912 def _setup(alg, priv_type, pub_type, exp, iat_skew, nbf, keyless, expected): """ setup tests """ privk = None if keyless else priv_keys[alg][priv_type] pubk = None if keyless else pub_keys[alg][pub_type] jtis = {} @Vows.batch #pylint: disable=W0612 class GenerateJWT(Vows.Context): #pylint: enable=W0612 """ generate token """ def topic(self): """ generate tokens, one with lifetime, one with expires """ lt = timedelta(seconds=exp) now = datetime.utcnow() not_before = (now + timedelta(minutes=nbf)) if nbf else None if callable(privk): token = privk(payload, alg, lt, not_before=not_before) else: