File: s3-operation-objects-list.t

package info (click to toggle)
libnet-amazon-s3-perl 0.991-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,620 kB
  • sloc: perl: 9,906; makefile: 20
file content (133 lines) | stat: -rw-r--r-- 2,705 bytes parent folder | download | duplicates (3)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!perl

use strict;
use warnings;

use FindBin;

BEGIN { require "$FindBin::Bin/test-helper-operation.pl" }

plan tests => 10;

expect_operation_objects_list_api (
	"API / S3->list_bucket legacy"     => \& api_objects_list_legacy,
	"API / S3->list_bucket_all legacy" => \& api_objects_list_all_legacy,
	"API / S3->list_bucket named"      => \& api_objects_list_named,
	"API / S3->list_bucket_all named"  => \& api_objects_list_all_named,
	"API / Bucket->list legacy"        => \& api_objects_bucket_list_legacy,
	"API / Bucket->list_all legacy"    => \& api_objects_bucket_list_all_legacy,
	"API / Bucket->list named"         => \& api_objects_bucket_list_named,
	"API / Bucket->list_all named"     => \& api_objects_bucket_list_all_named,
);

expect_operation_objects_list_client (
	"Client" => \& client_objects_list,
);

had_no_warnings;

done_testing;

sub api_objects_list_legacy {
	my (%args) = @_;

	build_default_api->list_bucket (\ %args);
}

sub api_objects_list_named {
	my (%args) = @_;

	build_default_api->list_bucket (%args);
}

sub api_objects_list_all_legacy {
	my (%args) = @_;

	build_default_api->list_bucket_all (\ %args);
}

sub api_objects_list_all_named {
	my (%args) = @_;

	build_default_api->list_bucket_all (%args);
}

sub api_objects_bucket_list_legacy {
	my (%args) = @_;

	build_default_api_bucket (%args)
		->list (\ %args)
		;
}

sub api_objects_bucket_list_named {
	my (%args) = @_;

	build_default_api_bucket (%args)
		->list (%args)
		;
}

sub api_objects_bucket_list_all_legacy {
	my (%args) = @_;

	build_default_api_bucket (%args)
		->list_all (\ %args)
		;
}

sub api_objects_bucket_list_all_named {
	my (%args) = @_;

	build_default_api_bucket (%args)
		->list_all (%args)
		;
}

sub client_objects_list {
	my (%args) = @_;

	build_default_client_bucket (%args)
		->list (\ %args)
		->next
		;
}

sub expect_operation_objects_list_api {
	expect_operation_plan
		implementations => +{ @_ },
		expect_operation => 'Net::Amazon::S3::Operation::Objects::List',
		plan => {
			"list buckets" => {
				act_arguments => [
					bucket      => 'bucket-name',
					delimiter   => 'd',
					max_keys    => 1_000,
					marker      => 'm',
					prefix      => 'p'
				],
			},
		}
}

sub expect_operation_objects_list_client {
	expect_operation_plan
		implementations => +{ @_ },
		expect_operation => 'Net::Amazon::S3::Operation::Objects::List',
		plan => {
			"list buckets" => {
				act_arguments => [
					bucket      => 'bucket-name',
					delimiter   => 'd',
					marker      => 'm',
					prefix      => 'p'
				],
				expect_arguments => {
					bucket      => 'bucket-name',
					delimiter   => 'd',
					marker      => undef,
					prefix      => 'p'
				},
			},
		}
}