summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2017-05-08 20:30:09 +0100
committerRobert Newson <rnewson@apache.org>2017-05-08 20:30:09 +0100
commit3cb8b7d42475bb9c0f96d075aaa7dffab64a1f7c (patch)
tree3cd25c9bb40cd6beda042e1f305e62f00d0f0ed9
parent8077258826f6c53359df22d97a42a323e7d12a6e (diff)
downloadcouchdb-3cb8b7d42475bb9c0f96d075aaa7dffab64a1f7c.tar.gz
98% coverage
-rw-r--r--src/jwtf.erl17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/jwtf.erl b/src/jwtf.erl
index f3f41a686..e7157f1f4 100644
--- a/src/jwtf.erl
+++ b/src/jwtf.erl
@@ -250,11 +250,21 @@ jwt_io_pubkey() ->
public_key:pem_entry_decode(PEMEntry).
+missing_typ_test() ->
+ Encoded = encode({[]}, []),
+ ?assertEqual({error, missing_typ}, decode(Encoded, [typ], nil)).
+
+
invalid_typ_test() ->
Encoded = encode({[{<<"typ">>, <<"NOPE">>}]}, []),
?assertEqual({error, invalid_typ}, decode(Encoded, [typ], nil)).
+missing_alg_test() ->
+ Encoded = encode({[{<<"typ">>, <<"NOPE">>}]}, []),
+ ?assertEqual({error, missing_alg}, decode(Encoded, [alg], nil)).
+
+
invalid_alg_test() ->
Encoded = encode({[{<<"typ">>, <<"JWT">>}, {<<"alg">>, <<"NOPE">>}]}, []),
?assertEqual({error, invalid_alg}, decode(Encoded, [alg], nil)).
@@ -300,6 +310,11 @@ invalid_exp_test() ->
?assertEqual({error, {exp,not_in_future}}, decode(Encoded, [exp], nil)).
+missing_kid_test() ->
+ Encoded = encode(valid_header(), {[]}),
+ ?assertEqual({error, missing_kid}, decode(Encoded, [kid], nil)).
+
+
bad_rs256_sig_test() ->
Encoded = encode(
{[{<<"typ">>, <<"JWT">>}, {<<"alg">>, <<"RS256">>}]},
@@ -339,7 +354,7 @@ rs256_test() ->
"39yxJPAjUESwxk2J5k_4zM3O-vtd1Ghyo4IbqKKSy6J9mTniYJPenn"
"5-HIirE">>,
- Checks = [sig],
+ Checks = [sig, alg],
KS = fun(undefined) -> jwt_io_pubkey() end,
ExpectedPayload = {[