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 )