AWS-CLIWrapper

 view release on metacpan or  search on metacpan

xt/20_s3-sync.t  view on Meta::CPAN

}
{
    my $tmpdir = tempdir("s3-sync-sfs XXXXXX",
                         CLEANUP => $cleanup,
                         TMPDIR  => 1,
                     );
    test_sync("source file contains space and dest dir contains space",
              's3://aws-cliwrapper-test/file-space' => $tmpdir);
}

{
    my $tmpdir = tempdir( CLEANUP => $cleanup );
    test_sync("source dir contains space",
              's3://aws-cliwrapper-test/dir space' => $tmpdir);
}
{
    my $tmpdir = tempdir("s3-sync-sds XXXXXX",
                         CLEANUP => $cleanup,
                         TMPDIR  => 1,
                     );
    test_sync("source dir contains space and dest dir contains space",
              's3://aws-cliwrapper-test/dir space' => $tmpdir);
}

{
    my $tmpdir = tempdir("XXXXXXXX",
                         CLEANUP => $cleanup,
                         TMPDIR  => 1,
                     );
    test_sync("source dir contains single quote",
              "s3://aws-cliwrapper-test/dir'single" => $tmpdir);
}
{
    my $tmpdir = tempdir("s3-sync-dfq'XXXXXX",
                          CLEANUP => $cleanup,
                          TMPDIR  => 1,
                      );
    test_sync("both source and dest dirs contains single quote",
              "s3://aws-cliwrapper-test/dir'single" => $tmpdir);
}

{
    my $tmpdir = tempdir('XXXXXXXX',
                          CLEANUP => $cleanup,
                          TMPDIR  => 1,
                      );
    test_sync("source dir contains double quote",
              's3://aws-cliwrapper-test/dir"double' => $tmpdir);
}
{
    my $tmpdir = tempdir('s3-sync-dfdq"XXXXXX',
                          CLEANUP => $cleanup,
                          TMPDIR  => 1,
                      );
    test_sync("both source and dest dirs contains double quote",
              's3://aws-cliwrapper-test/dir"double' => $tmpdir);
}

done_testing;

sub test_sync {
    my($desc, $src, $dst) = @_;

    my $res = $aws->s3('sync', [$src => $dst],
                       {
                           'delete' => $AWS::CLIWrapper::true,
                       });
    ok($res, "$desc: $src => $dst");

    my @downloaded = bsd_glob("$dst/*");
    my $nd = scalar @downloaded;
    ok($nd > 0, "downloaded $nd");
}



( run in 1.867 second using v1.01-cache-2.11-cpan-39bf76dae61 )