|
1 | 1 | import os
|
2 | 2 |
|
| 3 | +import pytest |
| 4 | + |
| 5 | +from cryptojwt.exception import JWKESTException, IssuerNotFound |
| 6 | +from cryptojwt.jws.exception import NoSuitableSigningKeys |
3 | 7 | from cryptojwt.jwt import JWT
|
4 | 8 | from cryptojwt.jwt import pick_key
|
5 | 9 | from cryptojwt.key_bundle import KeyBundle
|
@@ -64,6 +68,29 @@ def test_jwt_pack_and_unpack():
|
64 | 68 | assert set(info.keys()) == {'iat', 'iss', 'sub'}
|
65 | 69 |
|
66 | 70 |
|
| 71 | +def test_jwt_pack_and_unpack_unknown_issuer(): |
| 72 | + alice = JWT(key_jar=ALICE_KEY_JAR, iss=ALICE, sign_alg='RS256') |
| 73 | + payload = {'sub': 'sub'} |
| 74 | + _jwt = alice.pack(payload=payload) |
| 75 | + |
| 76 | + kj = KeyJar() |
| 77 | + bob = JWT(key_jar=kj, iss=BOB, allowed_sign_algs=["RS256"]) |
| 78 | + with pytest.raises(IssuerNotFound): |
| 79 | + info = bob.unpack(_jwt) |
| 80 | + |
| 81 | + |
| 82 | +def test_jwt_pack_and_unpack_unknown_key(): |
| 83 | + alice = JWT(key_jar=ALICE_KEY_JAR, iss=ALICE, sign_alg='RS256') |
| 84 | + payload = {'sub': 'sub'} |
| 85 | + _jwt = alice.pack(payload=payload) |
| 86 | + |
| 87 | + kj = KeyJar() |
| 88 | + kj.add_kb(ALICE, KeyBundle()) |
| 89 | + bob = JWT(key_jar=kj, iss=BOB, allowed_sign_algs=["RS256"]) |
| 90 | + with pytest.raises(NoSuitableSigningKeys): |
| 91 | + info = bob.unpack(_jwt) |
| 92 | + |
| 93 | + |
67 | 94 | def test_jwt_pack_and_unpack_with_lifetime():
|
68 | 95 | alice = JWT(key_jar=ALICE_KEY_JAR, iss=ALICE, lifetime=600)
|
69 | 96 | payload = {'sub': 'sub'}
|
|
0 commit comments