summaryrefslogtreecommitdiff
path: root/tests/oidc-configuration.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/oidc-configuration.scm')
-rw-r--r--tests/oidc-configuration.scm30
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)))))))