summary refs log tree commit diff
path: root/tests/publish.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-05-11 10:23:27 +0200
committerLudovic Courtès <ludo@gnu.org>2017-05-11 18:05:42 +0200
commit24b21720f7c3a368efc32017c126e107a5d76f52 (patch)
tree326f165b42f7b21d703984626ec44144cf0ed67f /tests/publish.scm
parent5899fafbfefcd7682aec8f2caaaad3add678a3c4 (diff)
downloadguix-24b21720f7c3a368efc32017c126e107a5d76f52.tar.gz
publish: Advertise a short TTL for "baking" 404s.
* guix/scripts/publish.scm (not-found): Add #:phrase and #:ttl
parameters and honor them.
* tests/publish.scm ("with cache"): Check the 'cache-control' header on
of the 404 response.
Diffstat (limited to 'tests/publish.scm')
-rw-r--r--tests/publish.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/publish.scm b/tests/publish.scm
index 6238f37bc1..268c324551 100644
--- a/tests/publish.scm
+++ b/tests/publish.scm
@@ -355,6 +355,13 @@ FileSize: ~a~%"
                                        (basename %item) ".nar"))
               (response (http-get url)))
          (and (= 404 (response-code response))
+
+              ;; We should get an explicitly short TTL for 404 in this case
+              ;; because it's going to become 200 shortly.
+              (match (assq-ref (response-headers response) 'cache-control)
+                ((('max-age . ttl))
+                 (< ttl 3600)))
+
               (wait-for-file cached)
               (let* ((body         (http-get-port url))
                      (compressed   (http-get nar-url))