diff options
Diffstat (limited to 'tests/oidc-configuration.scm')
-rw-r--r-- | tests/oidc-configuration.scm | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/tests/oidc-configuration.scm b/tests/oidc-configuration.scm index b4635b7..6c613b3 100644 --- a/tests/oidc-configuration.scm +++ b/tests/oidc-configuration.scm @@ -2,9 +2,11 @@ (webid-oidc jwk) (webid-oidc cache) (webid-oidc testing) + ((webid-oidc stubs) #:prefix stubs:) (web uri) (web response) - (srfi srfi-19)) + (srfi srfi-19) + (ice-9 receive)) (with-test-environment "jwks-get" @@ -113,4 +115,28 @@ (unless (oidc-configuration? cfg) (exit 3)) (unless (jwks? jwks) - (exit 4)))) + (exit 4)) + (let ((my-oidc (make-oidc-configuration + "https://example.com/keys" + "https://example.com/authorize" + "https://example.com/token"))) + (receive (response response-body) + (serve-oidc-configuration (time-utc->date (make-time time-utc 0 3600)) + my-oidc) + (unless (eqv? (car (response-content-type response)) 'application/json) + (exit 5)) + (let ((parsed (stubs:json-string->scm response-body))) + (unless (oidc-configuration? parsed) + (exit 6)) + (unless (equal? (assq-ref parsed 'jwks_uri) + "https://example.com/keys") + (exit 7)) + (unless (equal? (assq-ref parsed 'authorization_endpoint) + "https://example.com/authorize") + (exit 8)) + (unless (equal? (assq-ref parsed 'token_endpoint) + "https://example.com/token") + (exit 9)) + (unless (equal? (assq-ref parsed 'solid_oidc_supported) + "https://solidproject.org/TR/solid-oidc") + (exit 10))))))) |