summaryrefslogtreecommitdiff
path: root/tests/provider-confirmation.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/provider-confirmation.scm')
-rw-r--r--tests/provider-confirmation.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/provider-confirmation.scm b/tests/provider-confirmation.scm
new file mode 100644
index 0000000..44825e3
--- /dev/null
+++ b/tests/provider-confirmation.scm
@@ -0,0 +1,40 @@
+(use-modules (webid-oidc provider-confirmation)
+ (webid-oidc testing)
+ (web uri)
+ (srfi srfi-19)
+ (web response)
+ (ice-9 optargs)
+ (ice-9 receive))
+
+(with-test-environment
+ "provider-confirmation"
+ (lambda ()
+ (define what-uri-to-expect
+ (string->uri "https://provider-confirmation.scm/id#webid"))
+ (define what-headers-to-expect
+ '((accept (text/turtle))))
+ (define what-to-respond
+ (build-response #:headers '((content-type text/turtle))))
+ (define what-to-respond-body
+ "@prefix solid: <http://www.w3.org/ns/solid/terms#> .
+
+<#webid> solid:oidcIssuer <https://other-provider.provider-confirmation.scm>, <http://unsecure.provider> .
+")
+ (define* (http-get uri #:key (headers '()))
+ (unless (equal? uri what-uri-to-expect)
+ (exit 1))
+ (unless (equal? headers what-headers-to-expect)
+ (exit 2))
+ (values what-to-respond what-to-respond-body))
+ (define cnf (get-provider-confirmations
+ (string->uri "https://provider-confirmation.scm/id#webid")
+ #:http-get http-get))
+ (unless (eq? (length cnf) 2)
+ (format (current-error-port) "~s\n" cnf)
+ (exit 3))
+ (unless (string=? (uri->string (car cnf))
+ "https://provider-confirmation.scm")
+ (exit 4))
+ (unless (string=? (uri->string (cadr cnf))
+ "https://other-provider.provider-confirmation.scm")
+ (exit 5))))