App-RetroPAN
view release on metacpan or search on metacpan
t/retropan.t view on Meta::CPAN
#!/usr/bin/env perl
# vim:ts=4:shiftwidth=4:expandtab
use strict;
use warnings;
use Test::More;
use App::RetroPAN;
use File::Temp qw/ tempdir /;
use_ok 'App::RetroPAN';
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new( GET => "https://fastapi.metacpan.org/v1/release/_search" );
my $res = $ua->request($req);
SKIP: {
skip "Cannot reach API server" if !$res->is_success;
ok $res->is_success, "API server reachable";
my ($author, $dist, $url) = App::RetroPAN::find_module_on_date("Moose", "2011-01-01T00:00:00");
is($dist, "Moose-1.21");
is($author, "DROLSKY");
like($url, qr/^http.*Moose-1\.21\.tar\.gz/);
($author, $dist, $url) = App::RetroPAN::find_module_on_date("Pod::Spell", "2002-01-01T00:00:00");
is($dist, "Pod-Spell-1.01");
is($author, "SBURKE");
($author, $dist, $url) = App::RetroPAN::find_module_on_date("Pod::Spell", "2016-02-22T00:00:00");
is($dist, "Pod-Spell-1.19");
is($author, "DOLMEN");
($author, $dist, $url) = App::RetroPAN::find_module_on_date("Class::C3", "2011-01-01T00:00:00");
is($dist, "Class-C3-0.23");
is($author, "FLORA");
($author, $dist, $url) = App::RetroPAN::find_module_on_date("DBI", "2015-01-01T00:00:00");
is($dist, "DBI-1.632");
is($author, "TIMB");
my @deps = App::RetroPAN::find_module_dependencies("DROLSKY", "Moose-1.21");
is_deeply(\@deps, [qw/ Test::Requires Test::Fatal Params::Util Data::OptList Sub::Name Class::MOP Task::Weaken Try::Tiny Package::DeprecationManager List::MoreUtils Sub::Exporter /]);
my ($dists_required, $dist_to_url) = App::RetroPAN::find_deps_on_date("2011-01-01T00:00:00", "Moose");
isa_ok($dist_to_url, 'HASH');
{
local $TODO = "B::Debug was removed from core" if ($^V ge v5.30.0);
is_deeply($dists_required, [qw|
CHOCOLATE/Scope-Guard-0.20
FLORA/Devel-GlobalDestruction-0.03
DOY/Package-Stash-0.13
FLORA/Algorithm-C3-0.08
FLORA/Class-C3-0.23
FLORA/MRO-Compat-0.11
FLORA/Sub-Name-0.05
DROLSKY/Class-MOP-1.11
ADAMK/Task-Weaken-1.03
DOY/Try-Tiny-0.09
RJBS/Test-Fatal-0.003
TOKUHIROM/Test-Requires-0.06
DROLSKY/Package-DeprecationManager-0.10
VPARSEVAL/List-MoreUtils-0.24
RJBS/Sub-Install-0.925
RJBS/Data-OptList-0.106
ADAMK/Params-Util-1.03
RJBS/Sub-Exporter-0.982
DROLSKY/Moose-1.21
|]);
}
( run in 1.823 second using v1.01-cache-2.11-cpan-98e64b0badf )