Maven-Agent
view release on metacpan or search on metacpan
lib/Maven/Xml/XmlFile.pm view on Meta::CPAN
my $logger = Log::Any->get_logger();
sub _init {
my ( $self, %options ) = @_;
my $xml_string = $options{string};
if ( !$xml_string && $options{file} ) {
$logger->debugf( 'loading xml from file %s', $options{file} );
# http://www.perl.com/pub/2003/11/21/slurp.html
$xml_string = do { local ( @ARGV, $/ ) = $options{file}; <> };
}
if ( !$xml_string && $options{url} ) {
$logger->debugf( 'loading xml from uri %s', $options{url} );
my $agent = $options{agent};
if ( !$agent ) {
require LWP::UserAgent;
$agent = LWP::UserAgent->new();
}
my $response = $agent->get( $options{url} );
t/Maven_Agent.t view on Meta::CPAN
# Verify local download with to
my $agent = Maven::Agent->new(
M2_HOME => File::Spec->catdir( $test_dir, 'M2_HOME' ),
'user.home' => File::Spec->catdir( $test_dir, 'HOME' )
);
my $expected_file = File::Spec->catfile( $test_dir, 'HOME', '.m2', 'repository',
'com', 'pastdev', 'foo', '1.0.1', 'foo-1.0.1.pom' );
my $to_file = File::Temp->new();
my $file = $agent->download( 'com.pastdev:foo:pom:1.0.1', to => $to_file );
is( $file, $to_file, 'file is to_file' );
is( do { local ( @ARGV, $/ ) = $to_file; <> },
do { local ( @ARGV, $/ ) = $expected_file; <> },
'contents match'
);
my $to_dir = File::Temp->newdir();
$file = $agent->download( 'com.pastdev:foo:pom:1.0.1', to => $to_dir );
my $expected_download_file = File::Spec->catfile( $to_dir, 'foo.pom' );
is( $file, $expected_download_file, 'wrote expected file name to temp dir' );
SKIP: {
eval { require LWP::UserAgent };
t/Maven_Agent.t view on Meta::CPAN
'user.home' => $userHome
);
$expected_file = File::Spec->catfile(
$test_dir, 'WIN_HOME', '.m2', 'repository',
'com', 'pastdev', 'foo', '1.0.2',
'foo-1.0.2.pom'
);
$to_file = File::Temp->new();
my $file = $agent->download( 'com.pastdev:foo:pom:1.0.2', to => $to_file );
is( $file, $to_file, 'cygwin file is to_file' );
is( do { local ( @ARGV, $/ ) = $to_file; <> },
do { local ( @ARGV, $/ ) = $expected_file; <> },
'cygwin contents match'
);
my $to_dir = File::Temp->newdir();
$file = $agent->download( 'com.pastdev:foo:pom:1.0.2', to => $to_dir );
my $expected_download_file = File::Spec->catfile( $to_dir, 'foo.pom' );
is( $file, $expected_download_file, 'cygwin wrote expected file name to temp dir' );
}
done_testing();
( run in 0.268 second using v1.01-cache-2.11-cpan-55f5a4728d2 )