diff options
Diffstat (limited to 'tests/refresh-token-with-wrong-key.scm')
-rw-r--r-- | tests/refresh-token-with-wrong-key.scm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/refresh-token-with-wrong-key.scm b/tests/refresh-token-with-wrong-key.scm new file mode 100644 index 0000000..2609e1e --- /dev/null +++ b/tests/refresh-token-with-wrong-key.scm @@ -0,0 +1,29 @@ +(use-modules (webid-oidc refresh-token) + (webid-oidc testing) + (webid-oidc jwk) + (webid-oidc errors) + (web uri) + (srfi srfi-19) + (web response) + (ice-9 optargs) + (ice-9 receive)) + +(with-test-environment + "refresh-token-with-wrong-key" + (lambda () + (define first-key (generate-key #:n-size 2048)) + (define second-key (generate-key #:n-size 2048)) + (define sub (string->uri "https://subject")) + (define aud (string->uri "https://audience")) + (define refresh-token (issue-refresh-token sub aud (jkt first-key))) + (with-exception-handler + (lambda (error) + (unless ((record-predicate &invalid-key-for-refresh-token) error) + (exit 1))) + (lambda () + (with-refresh-token refresh-token second-key + (lambda (sub aud) + (exit 2))) + (exit 3)) + #:unwind? #t + #:unwind-for-type &invalid-key-for-refresh-token))) |