tests: Mock up http-fetch in import tests.

This is a follow-up to commit 63773200d7.

* tests/gem.scm ("gem->guix-package"): Replace mock definition of
"url-fetch" with "http-fetch".
* tests/pypi.scm ("pypi->guix-package"): Add mock definition of
"http-fetch".
This commit is contained in:
Ricardo Wurmus 2016-12-18 09:55:17 +01:00
parent 51d8395ac6
commit 506abddb99
No known key found for this signature in database
GPG key ID: 197A5888235FACAC
2 changed files with 55 additions and 50 deletions

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,13 +46,12 @@ (define test-json
(test-assert "gem->guix-package"
;; Replace network resources with sample data.
(mock ((guix import utils) url-fetch
(lambda (url file-name)
(mock ((guix http-client) http-fetch
(lambda (url)
(match url
("https://rubygems.org/api/v1/gems/foo.json"
(with-output-to-file file-name
(lambda ()
(display test-json))))
(values (open-input-string test-json)
(string-length test-json)))
(_ (error "Unexpected URL: " url)))))
(match (gem->guix-package "foo")
(('package

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -94,10 +95,6 @@ (define test-metadata
(mock ((guix import utils) url-fetch
(lambda (url file-name)
(match url
("https://pypi.python.org/pypi/foo/json"
(with-output-to-file file-name
(lambda ()
(display test-json))))
("https://example.com/foo-1.0.0.tar.gz"
(begin
(mkdir "foo-1.0.0")
@ -110,6 +107,14 @@ (define test-metadata
(call-with-input-file file-name port-sha256))))
("https://example.com/foo-1.0.0-py2.py3-none-any.whl" #f)
(_ (error "Unexpected URL: " url)))))
(mock ((guix http-client) http-fetch
(lambda (url)
(match url
("https://pypi.python.org/pypi/foo/json"
(values (open-input-string test-json)
(string-length test-json)))
("https://example.com/foo-1.0.0-py2.py3-none-any.whl" #f)
(_ (error "Unexpected URL: " url)))))
(match (pypi->guix-package "foo")
(('package
('name "python-foo")
@ -135,7 +140,7 @@ (define test-metadata
test-source-hash)
hash))
(x
(pk 'fail x #f)))))
(pk 'fail x #f))))))
(test-skip (if (which "zip") 0 1))
(test-assert "pypi->guix-package, wheels"