File: all.t

package info (click to toggle)
libwebservice-s3-tiny-perl 0.003-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 852 kB
  • sloc: perl: 137; sh: 5; makefile: 2
file content (57 lines) | stat: -rw-r--r-- 1,680 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
use strict;
use warnings;

use Socket;
use Test::More;
use WebService::S3::Tiny;

# Block until minio is up.
BEGIN {
    socket my $sock, PF_INET, SOCK_STREAM, 0 or die $!;

    my $addr = sockaddr_in 9000, inet_aton 'minio';

    my $i;
    until ( connect $sock, $addr ) {
        select undef, undef, undef, .1;
        die 'Minio never came up' if ++$i > 50;
    }
}

my $s3 = WebService::S3::Tiny->new(
    access_key => 'access_key',
    host       => 'http://minio:9000',
    secret_key => 'secret_key',
);

is $s3->put_bucket('bucket')->{status}, 200, 'put_bucket("bucket")';
is $s3->put_bucket('bucket')->{status}, 409, 'put_bucket("bucket")';

is $s3->put_object( 'bucket', 'object', 'foo' )->{status}, 200,
    'put_object("bucket", "object", "foo")';

is $s3->put_object( 'bucket', 'object', 'bar' )->{status}, 200,
    'put_object("bucket", "object", "bar")';

is $s3->get_object( 'bucket', 'object' )->{content}, 'bar',
    'get_object("bucket", "object")';

is $s3->get_object( 'bucket', 'object2' )->{status}, 404,
    'get_object("bucket", "object2")';

like $s3->get_bucket('bucket')->{content}, qr(<Key>object</Key>),
    'get_bucket("bucket")';

like $s3->get_bucket( 'bucket', {}, { 'list-type' => 2 } )->{content}, qr(<Key>object</Key>),
    'get_bucket("bucket", {}, { "list-type" => 2 })';

is $s3->delete_object('bucket', 'object')->{status}, 204,
    'delete_bucket("bucket", "object")';

is $s3->delete_object('bucket', 'object')->{status}, 204,
    'delete_bucket("bucket", "object")';

is $s3->delete_bucket('bucket')->{status}, 204, 'delete_bucket("bucket")';
is $s3->delete_bucket('bucket')->{status}, 404, 'delete_bucket("bucket")';

done_testing;