Skip to content

Commit 7e3614e

Browse files
committed
chore(tests): converts s3 eventbridge dataclasses tests from functional to unit tests
1 parent e06dcfb commit 7e3614e

File tree

3 files changed

+38
-126
lines changed

3 files changed

+38
-126
lines changed

tests/functional/data_classes/test_s3_eventbridge_notification.py

Lines changed: 0 additions & 126 deletions
This file was deleted.

tests/unit/data_classes/__init__.py

Whitespace-only changes.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from typing import Dict
2+
3+
import pytest
4+
5+
from aws_lambda_powertools.utilities.data_classes.s3_event import (
6+
S3EventBridgeNotificationEvent,
7+
)
8+
from tests.functional.utils import load_event
9+
10+
11+
@pytest.mark.parametrize(
12+
"raw_event",
13+
[
14+
pytest.param(load_event("s3EventBridgeNotificationObjectCreatedEvent.json")),
15+
pytest.param(load_event("s3EventBridgeNotificationObjectDeletedEvent.json")),
16+
pytest.param(load_event("s3EventBridgeNotificationObjectExpiredEvent.json")),
17+
pytest.param(load_event("s3EventBridgeNotificationObjectRestoreCompletedEvent.json")),
18+
],
19+
ids=["object_created", "object_deleted", "object_expired", "object_restored"],
20+
)
21+
def test_s3_eventbridge_notification_detail_parsed(raw_event: Dict):
22+
parsed_event = S3EventBridgeNotificationEvent(raw_event)
23+
24+
assert parsed_event.version == raw_event["version"]
25+
assert parsed_event.detail.bucket.name == raw_event["detail"]["bucket"]["name"]
26+
assert parsed_event.detail.deletion_type == raw_event["detail"].get("deletion-type")
27+
assert parsed_event.detail.destination_access_tier == raw_event["detail"].get("destination-access-tier")
28+
assert parsed_event.detail.destination_storage_class == raw_event["detail"].get("destination-storage-class")
29+
assert parsed_event.detail.object.etag == raw_event["detail"]["object"]["etag"]
30+
assert parsed_event.detail.object.key == raw_event["detail"]["object"]["key"]
31+
assert parsed_event.detail.object.sequencer == raw_event["detail"]["object"]["sequencer"]
32+
assert parsed_event.detail.object.size == raw_event["detail"]["object"]["size"]
33+
assert parsed_event.detail.reason == raw_event["detail"].get("reason")
34+
assert parsed_event.detail.request_id == raw_event["detail"]["request-id"]
35+
assert parsed_event.detail.requester == raw_event["detail"]["requester"]
36+
assert parsed_event.detail.restore_expiry_time == raw_event["detail"].get("restore-expiry-time")
37+
assert parsed_event.detail.source_ip_address == raw_event["detail"].get("source-ip-address")
38+
assert parsed_event.detail.source_storage_class == raw_event["detail"].get("source-storage-class")

0 commit comments

Comments
 (0)