|
3 | 3 | import pytest
|
4 | 4 |
|
5 | 5 | from aws_lambda_powertools.utilities.parser import ValidationError, event_parser, parse
|
6 |
| -from aws_lambda_powertools.utilities.parser.envelopes import EventBridgeEnvelope |
7 | 6 | from aws_lambda_powertools.utilities.parser.models import (
|
8 |
| - S3EventNotificationEventBridgeDetailModel, |
9 | 7 | S3EventNotificationEventBridgeModel,
|
10 |
| - S3EventNotificationObjectModel, |
11 | 8 | S3Model,
|
12 | 9 | S3RecordModel,
|
13 | 10 | )
|
@@ -125,41 +122,21 @@ def test_s3_eventbridge_notification_object_created_event():
|
125 | 122 | handle_s3_eventbridge_object_created(event_dict, LambdaContext())
|
126 | 123 |
|
127 | 124 |
|
128 |
| -def test_s3_eventbridge_notification_object_created_event_no_envelope(): |
129 |
| - event_dict = load_event("s3EventBridgeNotificationObjectCreatedEvent.json") |
130 |
| - handle_s3_eventbridge_object_created_no_envelope(event_dict, LambdaContext()) |
131 |
| - |
132 |
| - |
133 | 125 | def test_s3_eventbridge_notification_object_deleted_event():
|
134 | 126 | event_dict = load_event("s3EventBridgeNotificationObjectDeletedEvent.json")
|
135 | 127 | handle_s3_eventbridge_object_deleted(event_dict, LambdaContext())
|
136 | 128 |
|
137 | 129 |
|
138 |
| -def test_s3_eventbridge_notification_object_deleted_event_no_envelope(): |
139 |
| - event_dict = load_event("s3EventBridgeNotificationObjectDeletedEvent.json") |
140 |
| - handle_s3_eventbridge_object_deleted_no_envelope(event_dict, LambdaContext()) |
141 |
| - |
142 |
| - |
143 | 130 | def test_s3_eventbridge_notification_object_expired_event():
|
144 | 131 | event_dict = load_event("s3EventBridgeNotificationObjectExpiredEvent.json")
|
145 | 132 | handle_s3_eventbridge_object_expired(event_dict, LambdaContext())
|
146 | 133 |
|
147 | 134 |
|
148 |
| -def test_s3_eventbridge_notification_object_expired_event_no_envelope(): |
149 |
| - event_dict = load_event("s3EventBridgeNotificationObjectExpiredEvent.json") |
150 |
| - handle_s3_eventbridge_object_expired_no_envelope(event_dict, LambdaContext()) |
151 |
| - |
152 |
| - |
153 | 135 | def test_s3_eventbridge_notification_object_restore_completed_event():
|
154 | 136 | event_dict = load_event("s3EventBridgeNotificationObjectRestoreCompletedEvent.json")
|
155 | 137 | handle_s3_eventbridge_object_restore_completed(event_dict, LambdaContext())
|
156 | 138 |
|
157 | 139 |
|
158 |
| -def test_s3_eventbridge_notification_object_restore_completed_event_no_envelope(): |
159 |
| - event_dict = load_event("s3EventBridgeNotificationObjectRestoreCompletedEvent.json") |
160 |
| - handle_s3_eventbridge_object_restore_completed_no_envelope(event_dict, LambdaContext()) |
161 |
| - |
162 |
| - |
163 | 140 | @event_parser(model=S3Model)
|
164 | 141 | def handle_s3_delete_object(event: S3Model, _: LambdaContext):
|
165 | 142 | records = list(event.Records)
|
@@ -200,41 +177,8 @@ def test_s3_trigger_event_delete_object():
|
200 | 177 | handle_s3_delete_object(event_dict, LambdaContext())
|
201 | 178 |
|
202 | 179 |
|
203 |
| -@event_parser(model=S3EventNotificationEventBridgeDetailModel, envelope=EventBridgeEnvelope) |
204 |
| -def handle_s3_eventbridge_object_created(event: S3EventNotificationEventBridgeDetailModel, _: LambdaContext): |
205 |
| - """ |
206 |
| - Tests that the `S3EventNotificationEventBridgeDetailModel` parses events from |
207 |
| - https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html |
208 |
| - """ |
209 |
| - bucket_name = "example-bucket" |
210 |
| - deletion_type = None |
211 |
| - destination_access_tier = None |
212 |
| - destination_storage_class = None |
213 |
| - _object: S3EventNotificationObjectModel = event.object |
214 |
| - reason = "PutObject" |
215 |
| - request_id = "57H08PA84AB1JZW0" |
216 |
| - requester = "123456789012" |
217 |
| - restore_expiry_time = None |
218 |
| - source_ip_address = "34.252.34.74" |
219 |
| - source_storage_class = None |
220 |
| - version = "0" |
221 |
| - |
222 |
| - assert bucket_name == event.bucket.name |
223 |
| - assert deletion_type == event.deletion_type |
224 |
| - assert destination_access_tier == event.destination_access_tier |
225 |
| - assert destination_storage_class == event.destination_storage_class |
226 |
| - assert _object == event.object |
227 |
| - assert reason == event.reason |
228 |
| - assert request_id == event.request_id |
229 |
| - assert requester == event.requester |
230 |
| - assert restore_expiry_time == event.restore_expiry_time |
231 |
| - assert source_ip_address == event.source_ip_address |
232 |
| - assert source_storage_class == event.source_storage_class |
233 |
| - assert version == event.version |
234 |
| - |
235 |
| - |
236 | 180 | @event_parser(model=S3EventNotificationEventBridgeModel)
|
237 |
| -def handle_s3_eventbridge_object_created_no_envelope(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
| 181 | +def handle_s3_eventbridge_object_created(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
238 | 182 | """
|
239 | 183 | Tests that the `S3EventNotificationEventBridgeModel` parses events from
|
240 | 184 | https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html
|
@@ -263,41 +207,8 @@ def handle_s3_eventbridge_object_created_no_envelope(event: S3EventNotificationE
|
263 | 207 | assert event.detail.reason == raw_event["detail"]["reason"]
|
264 | 208 |
|
265 | 209 |
|
266 |
| -@event_parser(model=S3EventNotificationEventBridgeDetailModel, envelope=EventBridgeEnvelope) |
267 |
| -def handle_s3_eventbridge_object_deleted(event: S3EventNotificationEventBridgeDetailModel, _: LambdaContext): |
268 |
| - """ |
269 |
| - Tests that the `S3EventNotificationEventBridgeDetailModel` parses events from |
270 |
| - https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html |
271 |
| - """ |
272 |
| - bucket_name = "example-bucket" |
273 |
| - deletion_type = "Delete Marker Created" |
274 |
| - destination_access_tier = None |
275 |
| - destination_storage_class = None |
276 |
| - _object: S3EventNotificationObjectModel = event.object |
277 |
| - reason = "DeleteObject" |
278 |
| - request_id = "0BH729840619AG5K" |
279 |
| - requester = "123456789012" |
280 |
| - restore_expiry_time = None |
281 |
| - source_ip_address = "34.252.34.74" |
282 |
| - source_storage_class = None |
283 |
| - version = "0" |
284 |
| - |
285 |
| - assert bucket_name == event.bucket.name |
286 |
| - assert deletion_type == event.deletion_type |
287 |
| - assert destination_access_tier == event.destination_access_tier |
288 |
| - assert destination_storage_class == event.destination_storage_class |
289 |
| - assert _object == event.object |
290 |
| - assert reason == event.reason |
291 |
| - assert request_id == event.request_id |
292 |
| - assert requester == event.requester |
293 |
| - assert restore_expiry_time == event.restore_expiry_time |
294 |
| - assert source_ip_address == event.source_ip_address |
295 |
| - assert source_storage_class == event.source_storage_class |
296 |
| - assert version == event.version |
297 |
| - |
298 |
| - |
299 | 210 | @event_parser(model=S3EventNotificationEventBridgeModel)
|
300 |
| -def handle_s3_eventbridge_object_deleted_no_envelope(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
| 211 | +def handle_s3_eventbridge_object_deleted(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
301 | 212 | """
|
302 | 213 | Tests that the `S3EventNotificationEventBridgeModel` parses events from
|
303 | 214 | https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html
|
@@ -326,41 +237,8 @@ def handle_s3_eventbridge_object_deleted_no_envelope(event: S3EventNotificationE
|
326 | 237 | assert event.detail.deletion_type == raw_event["detail"]["deletion-type"]
|
327 | 238 |
|
328 | 239 |
|
329 |
| -@event_parser(model=S3EventNotificationEventBridgeDetailModel, envelope=EventBridgeEnvelope) |
330 |
| -def handle_s3_eventbridge_object_expired(event: S3EventNotificationEventBridgeDetailModel, _: LambdaContext): |
331 |
| - """ |
332 |
| - Tests that the `S3EventNotificationEventBridgeDetailModel` parses events from |
333 |
| - https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html |
334 |
| - """ |
335 |
| - bucket_name = "example-bucket" |
336 |
| - deletion_type = "Delete Marker Created" |
337 |
| - destination_access_tier = None |
338 |
| - destination_storage_class = None |
339 |
| - _object: S3EventNotificationObjectModel = event.object |
340 |
| - reason = "Lifecycle Expiration" |
341 |
| - request_id = "20EB74C14654DC47" |
342 |
| - requester = "s3.amazonaws.com" |
343 |
| - restore_expiry_time = None |
344 |
| - source_ip_address = None |
345 |
| - source_storage_class = None |
346 |
| - version = "0" |
347 |
| - |
348 |
| - assert bucket_name == event.bucket.name |
349 |
| - assert deletion_type == event.deletion_type |
350 |
| - assert destination_access_tier == event.destination_access_tier |
351 |
| - assert destination_storage_class == event.destination_storage_class |
352 |
| - assert _object == event.object |
353 |
| - assert reason == event.reason |
354 |
| - assert request_id == event.request_id |
355 |
| - assert requester == event.requester |
356 |
| - assert restore_expiry_time == event.restore_expiry_time |
357 |
| - assert source_ip_address == event.source_ip_address |
358 |
| - assert source_storage_class == event.source_storage_class |
359 |
| - assert version == event.version |
360 |
| - |
361 |
| - |
362 | 240 | @event_parser(model=S3EventNotificationEventBridgeModel)
|
363 |
| -def handle_s3_eventbridge_object_expired_no_envelope(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
| 241 | +def handle_s3_eventbridge_object_expired(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
364 | 242 | """
|
365 | 243 | Tests that the `S3EventNotificationEventBridgeModel` parses events from
|
366 | 244 | https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html
|
@@ -389,43 +267,8 @@ def handle_s3_eventbridge_object_expired_no_envelope(event: S3EventNotificationE
|
389 | 267 | assert event.detail.deletion_type == raw_event["detail"]["deletion-type"]
|
390 | 268 |
|
391 | 269 |
|
392 |
| -@event_parser(model=S3EventNotificationEventBridgeDetailModel, envelope=EventBridgeEnvelope) |
393 |
| -def handle_s3_eventbridge_object_restore_completed(event: S3EventNotificationEventBridgeDetailModel, _: LambdaContext): |
394 |
| - """ |
395 |
| - Tests that the `S3EventNotificationEventBridgeDetailModel` parses events from |
396 |
| - https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html |
397 |
| - """ |
398 |
| - bucket_name = "example-bucket" |
399 |
| - deletion_type = None |
400 |
| - destination_access_tier = None |
401 |
| - destination_storage_class = None |
402 |
| - _object: S3EventNotificationObjectModel = event.object |
403 |
| - reason = None |
404 |
| - request_id = "189F19CB7FB1B6A4" |
405 |
| - requester = "s3.amazonaws.com" |
406 |
| - restore_expiry_time = "2021-11-13T00:00:00Z" |
407 |
| - source_ip_address = None |
408 |
| - source_storage_class = "GLACIER" |
409 |
| - version = "0" |
410 |
| - |
411 |
| - assert bucket_name == event.bucket.name |
412 |
| - assert deletion_type == event.deletion_type |
413 |
| - assert destination_access_tier == event.destination_access_tier |
414 |
| - assert destination_storage_class == event.destination_storage_class |
415 |
| - assert _object == event.object |
416 |
| - assert reason == event.reason |
417 |
| - assert request_id == event.request_id |
418 |
| - assert requester == event.requester |
419 |
| - assert restore_expiry_time == event.restore_expiry_time |
420 |
| - assert source_ip_address == event.source_ip_address |
421 |
| - assert source_storage_class == event.source_storage_class |
422 |
| - assert version == event.version |
423 |
| - |
424 |
| - |
425 | 270 | @event_parser(model=S3EventNotificationEventBridgeModel)
|
426 |
| -def handle_s3_eventbridge_object_restore_completed_no_envelope( |
427 |
| - event: S3EventNotificationEventBridgeModel, _: LambdaContext |
428 |
| -): |
| 271 | +def handle_s3_eventbridge_object_restore_completed(event: S3EventNotificationEventBridgeModel, _: LambdaContext): |
429 | 272 | """
|
430 | 273 | Tests that the `S3EventNotificationEventBridgeModel` parses events from
|
431 | 274 | https://docs.aws.amazon.com/AmazonS3/latest/userguide/ev-events.html
|
|
0 commit comments