diff options
Diffstat (limited to 'tests/client-manifest-public.scm')
-rw-r--r-- | tests/client-manifest-public.scm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/client-manifest-public.scm b/tests/client-manifest-public.scm new file mode 100644 index 0000000..e285782 --- /dev/null +++ b/tests/client-manifest-public.scm @@ -0,0 +1,33 @@ +(use-modules (webid-oidc client-manifest) + (webid-oidc testing) + (webid-oidc errors) + (web uri) + (srfi srfi-19) + (web response)) + +(with-test-environment + "client-manifest-public" + (lambda () + (define mf + (get-client-manifest + (string->uri "http://www.w3.org/ns/solid/terms#PublicOidcClient") + #:http-get + (lambda args + (exit 1)))) + (define id (client-manifest-client-id mf)) + (unless (equal? id (string->uri "http://www.w3.org/ns/solid/terms#PublicOidcClient")) + (exit 2)) + (unless (client-manifest-check-redirect-uri mf "https://example.com") + (exit 3)) + (with-exception-handler + (lambda (error) + (unless ((record-predicate &cannot-serve-public-manifest) error) + (exit 4))) + (lambda () + (serve-client-manifest + (time-utc->date + (make-time time-utc 0 0)) + mf) + (exit 5)) + #:unwind? #t + #:unwind-for-type &cannot-serve-public-manifest))) |