tests: Mock up http-fetch.

This is a follow-up to commit 63773200d7.

* tests/cpan.scm ("cpan->guix-package"): Add mock definition of
http-fetch.
This commit is contained in:
Ricardo Wurmus 2016-12-18 13:38:01 +01:00
parent e69c1a5446
commit 662a1aa6b0
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 35 additions and 28 deletions

View File

@ -68,13 +68,20 @@
(lambda ()
(display
(match url
("https://api.metacpan.org/release/Foo-Bar"
test-json)
("https://api.metacpan.org/module/Test::Script"
"{ \"distribution\" : \"Test-Script\" }")
("http://example.com/Foo-Bar-0.1.tar.gz"
test-source)
(_ (error "Unexpected URL: " url))))))))
(mock ((guix http-client) http-fetch
(lambda (url)
(match url
("https://api.metacpan.org/release/Foo-Bar"
(values (open-input-string test-json)
(string-length test-json)))
("https://api.metacpan.org/module/Test::Script?fields=distribution"
(let ((result "{ \"distribution\" : \"Test-Script\" }"))
(values (open-input-string result)
(string-length result))))
(_ (error "Unexpected URL: " url)))))
(match (cpan->guix-package "Foo::Bar")
(('package
('name "perl-foo-bar")
@ -98,7 +105,7 @@
(call-with-input-string test-source port-sha256))
hash))
(x
(pk 'fail x #f)))))
(pk 'fail x #f))))))
(test-equal "source-url-http"
((@@ (guix import cpan) cpan-source-url)