@@ -83,26 +83,65 @@ def test_create_bucket_retention_list(self):
83
83
84
84
self .delete_test_bucket (my_bucket )
85
85
86
- def test_pagination (self ):
86
+ def test_find_buckets (self ):
87
87
my_org = self .find_my_org ()
88
- buckets = self .buckets_api .find_buckets ().buckets
88
+ buckets = self .buckets_api .find_buckets (limit = 100 ).buckets
89
89
size = len (buckets )
90
90
91
91
# create 2 buckets
92
92
self .buckets_api .create_bucket (bucket_name = generate_bucket_name (), org = my_org )
93
93
self .buckets_api .create_bucket (bucket_name = generate_bucket_name (), org = my_org )
94
94
95
- buckets = self .buckets_api .find_buckets ().buckets
95
+ buckets = self .buckets_api .find_buckets (limit = size + 2 ).buckets
96
96
self .assertEqual (size + 2 , len (buckets ))
97
97
98
98
# offset 1
99
- buckets = self .buckets_api .find_buckets (offset = 1 ).buckets
99
+ buckets = self .buckets_api .find_buckets (offset = 1 , limit = size + 2 ).buckets
100
100
self .assertEqual (size + 1 , len (buckets ))
101
101
102
102
# count 1
103
103
buckets = self .buckets_api .find_buckets (limit = 1 ).buckets
104
104
self .assertEqual (1 , len (buckets ))
105
105
106
+ def test_find_buckets_iter (self ):
107
+ def count_unique_ids (items ):
108
+ return len (set (map (lambda item : item .id , items )))
109
+
110
+ my_org = self .find_my_org ()
111
+ more_buckets = 10
112
+ num_of_buckets = count_unique_ids (self .buckets_api .find_buckets_iter ()) + more_buckets
113
+
114
+ a_bucket_name = None
115
+ for _ in range (more_buckets ):
116
+ bucket_name = self .generate_name ("it find_buckets_iter" )
117
+ self .buckets_api .create_bucket (bucket_name = bucket_name , org = my_org )
118
+ a_bucket_name = bucket_name
119
+
120
+ # get no buckets
121
+ buckets = self .buckets_api .find_buckets_iter (name = a_bucket_name + "blah" )
122
+ self .assertEqual (count_unique_ids (buckets ), 0 )
123
+
124
+ # get bucket by name
125
+ buckets = self .buckets_api .find_buckets_iter (name = a_bucket_name )
126
+ self .assertEqual (count_unique_ids (buckets ), 1 )
127
+
128
+ # get buckets in 3-4 batches
129
+ buckets = self .buckets_api .find_buckets_iter (limit = num_of_buckets // 3 )
130
+ self .assertEqual (count_unique_ids (buckets ), num_of_buckets )
131
+
132
+ # get buckets in one batch
133
+ buckets = self .buckets_api .find_buckets_iter (limit = num_of_buckets )
134
+ self .assertEqual (count_unique_ids (buckets ), num_of_buckets )
135
+
136
+ # get buckets in one batch, requesting too much
137
+ buckets = self .buckets_api .find_buckets_iter (limit = num_of_buckets + 1 )
138
+ self .assertEqual (count_unique_ids (buckets ), num_of_buckets )
139
+
140
+ # skip some buckets
141
+ * _ , skip_bucket = self .buckets_api .find_buckets (limit = num_of_buckets // 3 ).buckets
142
+ buckets = self .buckets_api .find_buckets_iter (after = skip_bucket .id )
143
+ self .assertEqual (count_unique_ids (buckets ), num_of_buckets - num_of_buckets // 3 )
144
+
106
145
def test_update_bucket (self ):
107
146
my_org = self .find_my_org ()
108
147
0 commit comments