summaryrefslogtreecommitdiff
path: root/tests/resource-server.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-08-01 14:51:28 +0200
committerVivien Kraus <vivien@planete-kraus.eu>2021-08-01 18:08:56 +0200
commitbae1843f1a1d644fb3bd4f8c40b1dbb900aa3325 (patch)
tree00f590033af904a6a493e41bdebe9b3ddd73043b /tests/resource-server.scm
parentd8c2ca930673da858d63f2dea9526c259a2dd936 (diff)
Use guile parameters
With parameters, the API does not need to care about the directory where to load files and how to get the time.
Diffstat (limited to 'tests/resource-server.scm')
-rw-r--r--tests/resource-server.scm40
1 files changed, 20 insertions, 20 deletions
diff --git a/tests/resource-server.scm b/tests/resource-server.scm
index ef5e0b7..aba4bb0 100644
--- a/tests/resource-server.scm
+++ b/tests/resource-server.scm
@@ -23,6 +23,7 @@
(webid-oidc dpop-proof)
(webid-oidc resource-server)
(webid-oidc testing)
+ ((webid-oidc parameters) #:prefix p:)
(web uri)
(web request)
(srfi srfi-19)
@@ -33,7 +34,6 @@
(with-test-environment
"resource-server"
(lambda ()
- (define jti (make-jti-list))
(define client-key (generate-key #:n-size 2048))
(define idp-key (generate-key #:n-size 2048))
(define jwks (make-jwks (list idp-key)))
@@ -55,26 +55,26 @@
(serve-jwks exp jwks))
(else (exit 1))))
(define access-token
- (issue-access-token
- idp-key
- #:alg 'RS256
- #:webid subject
- #:iss "https://identity.provider"
- #:iat 10
- #:exp 3610
- #:client-key client-key
- #:client-id "https://client"))
+ (parameterize ((p:current-date 10))
+ (issue-access-token
+ idp-key
+ #:alg 'RS256
+ #:webid subject
+ #:iss "https://identity.provider"
+ #:validity 3600
+ #:client-key client-key
+ #:client-id "https://client")))
(define uri (string->uri "https://resource.server/resource"))
(define server-uri (string->uri "https://resource.server/"))
(define method 'GET)
(define dpop-proof
- (issue-dpop-proof
- client-key
- #:alg 'RS256
- #:htm method
- #:htu uri
- #:iat (time-utc->date (make-time time-utc 0 15))
- #:access-token access-token))
+ (parameterize ((p:current-date 15))
+ (issue-dpop-proof
+ client-key
+ #:alg 'RS256
+ #:htm method
+ #:htu uri
+ #:access-token access-token)))
(define rq
(call-with-input-string
(format #f "GET /resource HTTP/1.1\r\n\
@@ -90,11 +90,11 @@ DPoP: ~a\r\n\r\n"
(define rq-body "")
(define authenticator
(make-authenticator
- jti
#:server-uri server-uri
- #:current-time (lambda () (make-time time-utc 0 20))
#:http-get http-get))
- (define parsed (authenticator rq rq-body))
+ (define parsed
+ (parameterize ((p:current-date 20))
+ (authenticator rq rq-body)))
(unless (uri? parsed)
(exit 2))
(unless (equal? parsed subject)