summaryrefslogtreecommitdiff
path: root/tests/client-manifest-public.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2020-11-30 23:13:17 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2021-06-19 15:44:36 +0200
commit197da00a94a2fecee59c5d7a090316e9dd82fe90 (patch)
tree1487ba9452b79703773e3855933ace5194e94bce /tests/client-manifest-public.scm
parent37c019d143a70bc6261eb8addcb24550b829e9bb (diff)
Fetch a client manifest on the web
Diffstat (limited to 'tests/client-manifest-public.scm')
-rw-r--r--tests/client-manifest-public.scm33
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)))