diff options
Diffstat (limited to 'tests/provider-confirmation.scm')
-rw-r--r-- | tests/provider-confirmation.scm | 40 |
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)))) |