diff options
author | Maxime Devos <maximedevos@telenet.be> | 2022-09-01 11:43:38 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-09-26 23:29:37 +0200 |
commit | 5c37ad812b94de76ab45bb15a25aaf7895fb0c66 (patch) | |
tree | 50bfc20bdeecb37a244007e2f799974b690110b1 /tests/gnu-maintenance.scm | |
parent | 55d4200002940506607472d326deb130edecf90e (diff) |
gnu-maintenance: Test latest-html-release.
* tests/gnu-maintenance.scm ("latest-html-release, no signature")
("latest-html-release, signature): New tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'tests/gnu-maintenance.scm')
-rw-r--r-- | tests/gnu-maintenance.scm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm index 89b0684c25..abe74d799c 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) |