projects/guix·commit 5c37ad81

gnu-maintenance: Test latest-html-release.

5c37ad81 · Maxime Devos <[email protected]> · 2022-09-01 11:43:38 +02:00

* tests/gnu-maintenance.scm ("latest-html-release, no signature")
("latest-html-release, signature): New tests.

Signed-off-by: Ludovic Courtès <[email protected]>
Commit
5c37ad812b94de76ab45bb15a25aaf7895fb0c66
Parents
55d42000

Changes

1 files changed · +62 −0

FileStatusAddDelContent
tests/gnu-maintenance.scmmodified+62−0View file

tests/gnu-maintenance.scm

View file
diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm
index 89b0684..abe74d7 100644
--- a/tests/gnu-maintenance.scm
+++ b/tests/gnu-maintenance.scm
@@ -84,4 +84,66 @@
(equal? (upstream-source-version update) "2")
(equal? (list expected-new-url) (upstream-source-urls update))))))
+(test-assert "latest-html-release, no signature"
+ (with-http-server
+ `((200 "<html xmlns=\"http://www.w3.org/1999/xhtml\">
+<head>
+<title>Releases!</title>
+</head>
+<body>
+<a href=\"bar/foo-1.tar.gz\">version 1</a>
+<a href=\"bar/foo-2.tar.gz\">version 2</a>
+</body>
+</html>"))
+ (let ()
+ (define package
+ (dummy-package "foo"
+ (source
+ (dummy-origin
+ (uri (string-append (%local-url) "/foo-1.tar.gz"))))
+ (properties
+ `((release-monitoring-url . ,(%local-url))))))
+ (define update ((upstream-updater-latest %generic-html-updater) package))
+ (define expected-new-url
+ (string-append (%local-url) "/foo-2.tar.gz"))
+ (and (pk 'u update)
+ (equal? (upstream-source-version update) "2")
+ (equal? (list expected-new-url)
+ (upstream-source-urls update))
+ (null? ;; both #false and the empty list are acceptable
+ (or (upstream-source-signature-urls update) '()))))))
+
+(test-assert "latest-html-release, signature"
+ (with-http-server
+ `((200 "<html xmlns=\"http://www.w3.org/1999/xhtml\">
+<head>
+<title>Signed releases!</title>
+</head>
+<body>
+<a href=\"bar/foo-1.tar.gz\">version 1</a>
+<a href=\"bar/foo-2.tar.gz\">version 2</a>
+<a href=\"bar/foo-1.tar.gz.sig\">version 1 signature</a>
+<a href=\"bar/foo-2.tar.gz.sig\">version 2 signature</a>
+</body>
+</html>"))
+ (let ()
+ (define package
+ (dummy-package "foo"
+ (source
+ (dummy-origin
+ (uri (string-append (%local-url) "/foo-1.tar.gz"))))
+ (properties
+ `((release-monitoring-url . ,(%local-url))))))
+ (define update ((upstream-updater-latest %generic-html-updater) package))
+ (define expected-new-url
+ (string-append (%local-url) "/foo-2.tar.gz"))
+ (define expected-signature-url
+ (string-append (%local-url) "/foo-2.tar.gz.sig"))
+ (and (pk 'u update)
+ (equal? (upstream-source-version update) "2")
+ (equal? (list expected-new-url)
+ (upstream-source-urls update))
+ (equal? (list expected-signature-url)
+ (upstream-source-signature-urls update))))))
+
(test-end)