summaryrefslogtreecommitdiff
path: root/tests/token-endpoint-issue.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/token-endpoint-issue.scm')
-rw-r--r--tests/token-endpoint-issue.scm72
1 files changed, 35 insertions, 37 deletions
diff --git a/tests/token-endpoint-issue.scm b/tests/token-endpoint-issue.scm
index 6f7d4dc..9438dfe 100644
--- a/tests/token-endpoint-issue.scm
+++ b/tests/token-endpoint-issue.scm
@@ -22,6 +22,7 @@
(webid-oidc jti)
(webid-oidc testing)
((webid-oidc stubs) #:prefix stubs:)
+ ((webid-oidc parameters) #:prefix p:)
(web uri)
(web request)
(web response)
@@ -40,50 +41,27 @@
(define client (string->uri "https://token-endpoint-issue.scm/client/card#app"))
(define issuer (string->uri "https://issuer.token-endpoint-issue.scm"))
(define validity 3600)
- (define jti-list (make-jti-list))
- (define authz (issue-authorization-code
- alg key
- (time-utc->date (make-time time-utc 0 120))
- subject
- client))
- (define the-time 0)
- (define (current-time)
- (make-time time-utc 0 the-time))
- (define endpoint (make-token-endpoint
- (string->uri "https://token-endpoint-issue.scm/token")
- issuer alg key validity jti-list
- #:current-time current-time))
+ (define authz
+ (issue-authorization-code
+ alg key
+ (time-utc->date (make-time time-utc 0 120))
+ subject
+ client))
+ (define endpoint
+ (make-token-endpoint
+ (string->uri "https://token-endpoint-issue.scm/token")
+ issuer alg key validity))
(receive (response response-body user error)
;; The code is fake!
(let ((dpop
- (issue-dpop-proof
- client-key
- #:alg alg
- #:htm 'POST
- #:htu (string->uri
- "https://token-endpoint-issue.scm/token")
- #:iat (time-utc->date (make-time time-utc 0 0)))))
- (set! the-time 0)
- (endpoint
- (build-request (string->uri
- "http://localhost:8080/token")
- #:headers `((content-type application/x-www-form-urlencoded)
- (dpop . ,dpop))
- #:method 'POST
- #:port #t)
- "grant_type=authorization_code&code=fake"))
- (unless (eq? (response-code response) 400)
- (exit 3))
- (receive (response response-body user error)
- (let ((dpop
+ (parameterize ((p:current-date 0))
(issue-dpop-proof
client-key
#:alg alg
#:htm 'POST
#:htu (string->uri
- "https://token-endpoint-issue.scm/token")
- #:iat (time-utc->date (make-time time-utc 0 10)))))
- (set! the-time 10)
+ "https://token-endpoint-issue.scm/token")))))
+ (parameterize ((p:current-date 0))
(endpoint
(build-request (string->uri
"http://localhost:8080/token")
@@ -91,7 +69,27 @@
(dpop . ,dpop))
#:method 'POST
#:port #t)
- (string-append "grant_type=authorization_code&code=" authz)))
+ "grant_type=authorization_code&code=fake")))
+ (unless (eq? (response-code response) 400)
+ (exit 3))
+ (receive (response response-body user error)
+ (let ((dpop
+ (parameterize ((p:current-date 10))
+ (issue-dpop-proof
+ client-key
+ #:alg alg
+ #:htm 'POST
+ #:htu (string->uri
+ "https://token-endpoint-issue.scm/token")))))
+ (parameterize ((p:current-date 10))
+ (endpoint
+ (build-request (string->uri
+ "http://localhost:8080/token")
+ #:headers `((content-type application/x-www-form-urlencoded)
+ (dpop . ,dpop))
+ #:method 'POST
+ #:port #t)
+ (string-append "grant_type=authorization_code&code=" authz))))
(unless (eq? (response-code response) 200)
(write response)
(exit 4))