~ruther/guix-local

f69d14d31af8325807d8529fccd3f0b6fd86e342 — Ludovic Courtès 3 years ago df8b382
tests: Ensure 'cpan' updater test does not access the network.

Previously it would try to access the real metacpan.org.  This would
succeed when network is available because "Test-Script" is an existing
package.

* tests/cpan.scm ("package-latest-release"): Wrap
'upstream-source-inputs' call in 'parameterize'.  Set
'current-http-proxy'.  Change the order of responses in
'with-http-server'.
1 files changed, 13 insertions(+), 12 deletions(-)

M tests/cpan.scm
M tests/cpan.scm => tests/cpan.scm +13 -12
@@ 102,21 102,22 @@
               (downstream-name "perl-test-script")
               (type 'propagated))))
  (with-http-server `((200 ,test-json)
                      (200 ,test-source)
                      (200 "{ \"distribution\" : \"Test-Script\" }"))
    (define source
      (parameterize ((%metacpan-base-url (%local-url)))
                      (200 "{ \"distribution\" : \"Test-Script\" }")
                      (200 ,test-source))
    (parameterize ((%metacpan-base-url (%local-url))
                   (current-http-proxy (%local-url)))
      (define source
        (package-latest-release
         (dummy-package "perl-test-script"
                        (version "0.0.0")
                        (source (dummy-origin
                                 (method url-fetch)
                                 (uri "mirror://cpan/Foo-Bar-0.0.0.tgz"))))
         (list %cpan-updater))))
           (version "0.0.0")
           (source (dummy-origin
                    (method url-fetch)
                    (uri "mirror://cpan/Foo-Bar-0.0.0.tgz"))))
         (list %cpan-updater)))

    (list (upstream-source-urls source)
          (upstream-source-signature-urls source)
          (upstream-source-inputs source))))
      (list (upstream-source-urls source)
            (upstream-source-signature-urls source)
            (upstream-source-inputs source)))))

(test-equal "metacpan-url->mirror-url, http"
  "mirror://cpan/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz"