diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-05-29 15:36:06 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-05-31 23:25:26 +0200 |
commit | 9e237fe0bd813664adf54599586df75b2e5b0998 (patch) | |
tree | 1cba0ce4c3905214bdba4888599b9e0cc8e9087a /tests | |
parent | e6f82fcd5f8d8340f7f4f5ac5e476db8caaaeef1 (diff) | |
download | guix-9e237fe0bd813664adf54599586df75b2e5b0998.tar.gz |
import: gem: Updater provides input list.
* guix/import/gem.scm (import-release): Add 'inputs' field. * tests/gem.scm ("package-latest-release"): New test.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gem.scm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/gem.scm b/tests/gem.scm index 023415de7b..a2b5e39077 100644 --- a/tests/gem.scm +++ b/tests/gem.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info> +;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,9 @@ (define-module (test-gem) #:use-module (guix import gem) + #:use-module (guix upstream) + #:use-module ((guix download) #:select (url-fetch)) + #:use-module ((guix build-system ruby) #:select (rubygems-uri)) #:use-module (guix base32) #:use-module (gcrypt hash) #:use-module (guix tests) @@ -253,4 +257,31 @@ (x (pk 'fail x #f))))) +(test-equal "package-latest-release" + (list '("https://rubygems.org/downloads/foo-1.0.0.gem") + (list (upstream-input + (name "bundler") + (downstream-name name) + (type 'propagated)) + (upstream-input + (name "bar") + (downstream-name "ruby-bar") + (type 'propagated)))) + (mock ((guix http-client) http-fetch + (lambda (url . rest) + (match url + ("https://rubygems.org/api/v1/gems/foo.json" + (values (open-input-string test-foo-json) + (string-length test-foo-json))) + (_ (error "Unexpected URL: " url))))) + (let ((source (package-latest-release + (dummy-package "ruby-foo" + (version "0.1.2") + (source (dummy-origin + (method url-fetch) + (uri (rubygems-uri "foo" + version)))))))) + (list (upstream-source-urls source) + (upstream-source-inputs source))))) + (test-end "gem") |