From c4479afbd1159b921e1b9c3155e992e32806b712 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Sat, 28 Nov 2020 09:51:15 +0100 Subject: Use a web cache on the file system --- tests/cache-revalidate.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/cache-revalidate.scm (limited to 'tests/cache-revalidate.scm') diff --git a/tests/cache-revalidate.scm b/tests/cache-revalidate.scm new file mode 100644 index 0000000..29cc038 --- /dev/null +++ b/tests/cache-revalidate.scm @@ -0,0 +1,42 @@ +(use-modules (webid-oidc cache) + (webid-oidc testing) + (web uri) + (web request) + (web response) + (srfi srfi-19) + (ice-9 optargs) + (ice-9 receive)) + +(with-test-environment + "cache-revalidate" + (lambda () + (define original-response + (build-response #:headers `((etag . ("xxx" . #t)) + (content-type text/plain) + (date . ,(time-utc->date (make-time time-utc 0 0)))))) + (define* (backend uri #:key (headers '())) + (unless (equal? uri (string->uri "https://example.com")) + (exit 1)) + (unless (equal? (assq-ref headers 'if-none-match) + '(("xxx" . #t))) + (exit 2)) + (unless (equal? (assq-ref headers 'user-agent) "Testbed") + (exit 3)) + (unless (eqv? (length headers) 2) + (exit 4)) + (values + (build-response #:code 304 #:reason-phrase "Not Modified" + #:headers `((date . ,(time-utc->date (make-time time-utc 0 10))))) + #f)) + (receive (response response-body) + (revalidate (string->uri "https://example.com") original-response "hello" + #:headers `((if-none-match . ("yyy" . #t)) + (if-unmodified-since . ,(time-utc->date (make-time time-utc 0 42))) + (user-agent . "Testbed")) + #:http-get backend) + (unless (eqv? (response-code response) 200) + (exit 5)) + (unless (equal? (response-headers response) + `((date . ,(time-utc->date (make-time time-utc 0 10))) + (content-type text/plain))) + (exit 6))))) -- cgit v1.2.3