8000 fixed the IAM test · localstack/localstack@50578d0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 50578d0

Browse files
committed
fixed the IAM test
1 parent d818bb4 commit 50578d0

File tree

3 files changed

+35
-20
lines changed

3 files changed

+35
-20
lines changed

tests/aws/services/events/test_events.py

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -673,15 +673,17 @@ def verify_message_content(message, original_event_id):
673673
)
674674

675675
@markers.aws.validated
676-
def test_put_events_with_iam_permission_failure(
676+
def test_put_events_with_target_delivery_failure(
677677
self, events_put_rule, sqs_create_queue, sqs_get_queue_arn, aws_client, snapshot, clean_up
678678
):
679-
"""Test that put_events returns successful EventId even when target permissions are missing,
680-
but the message is not delivered to the target."""
681-
# Create SQS queue without EventBridge permissions
679+
"""Test that put_events returns successful EventId even when target delivery fails due to non-existent queue."""
680+
# Create a queue and get its ARN
682681
queue_url = sqs_create_queue()
683682
queue_arn = sqs_get_queue_arn(queue_url)
684683

684+
# Delete the queue to simulate a failure scenario
685+
aws_client.sqs.delete_queue(QueueUrl=queue_url)
686+
685687
rule_name = f"test-rule-{short_uid()}"
686688

687689
snapshot.add_transformers_list(
@@ -693,45 +695,38 @@ def test_put_events_with_iam_permission_failure(
693695
]
694696
)
695697

696-
# Create rule
697698
events_put_rule(
698699
Name=rule_name,
699700
EventPattern=json.dumps(TEST_EVENT_PATTERN_NO_DETAIL),
700701
)
701702

702-
# Add target without proper permissions
703703
target_id = f"test-target-{short_uid()}"
704-
target_response = aws_client.events.put_targets(
704+
aws_client.events.put_targets(
705705
Rule=rule_name,
706706
Targets=[
707707
{"Id": target_id, "Arn": queue_arn},
708708
],
709709
)
710710

711-
assert (
712-
target_response["FailedEntryCount"] == 0
713-
), f"Failed to add targets: {target_response.get('FailedEntries', [])}"
714-
715-
# Put event that should trigger the rule
716711
test_event = {
717712
"Source": TEST_EVENT_PATTERN_NO_DETAIL["source"][0],
718713
"DetailType": TEST_EVENT_PATTERN_NO_DETAIL["detail-type"][0],
719714
"Detail": json.dumps(EVENT_DETAIL),
720715
}
721716

722-
event_response = aws_client.events.put_events(Entries=[test_event])
723-
snapshot.match("put-events-response", event_response)
717+
response = aws_client.events.put_events(Entries=[test_event])
718+
snapshot.match("put-events-response", response)
724719

725-
# Verify response matches expected structure
726-
assert len(event_response["Entries"]) == 1
727-
assert "EventId" in event_response["Entries"][0]
728-
assert event_response["FailedEntryCount"] == 0
720+
assert len(response["Entries"]) == 1
721+
assert "EventId" in response["Entries"][0]
722+
assert response["FailedEntryCount"] == 0
729723

724+
new_queue_url = sqs_create_queue()
730725
messages = aws_client.sqs.receive_message(
731-
QueueUrl=queue_url, MaxNumberOfMessages=1, WaitTimeSeconds=1
726+
QueueUrl=new_queue_url, MaxNumberOfMessages=1, WaitTimeSeconds=1
732727
).get("Messages", [])
733728

734-
assert len(messages) == 0, "Expected no messages to be delivered due to missing permissions"
729+
assert len(messages) == 0, "No messages should be delivered when queue doesn't exist"
735730

736731

737732
class TestEventBus:

tests/aws/services/events/test_events.snapshot.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2438,5 +2438,22 @@
24382438
}
24392439
}
24402440
}
2441+
},
2442+
"tests/aws/services/events/test_events.py::TestEvents::test_put_events_with_target_delivery_failure": {
2443+
"recorded-date": "20-11-2024, 17:19:19",
2444+
"recorded-content": {
2445+
"put-events-response": {
2446+
"Entries": [
2447+
{
2448+
"EventId": "<event-id:1>"
2449+
}
2450+
],
2451+
"FailedEntryCount": 0,
2452+
"ResponseMetadata": {
2453+
"HTTPHeaders": {},
2454+
"HTTPStatusCode": 200
2455+
}
2456+
}
2457+
}
24412458
}
24422459
}

tests/aws/services/events/test_events.validation.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@
176176
"tests/aws/services/events/test_events.py::TestEvents::test_put_events_with_iam_permission_failure": {
177177
"last_validated_date": "2024-11-20T12:32:10+00:00"
178178
},
179+
"tests/aws/services/events/test_events.py::TestEvents::test_put_events_with_target_delivery_failure": {
180+
"last_validated_date": "2024-11-20T17:19:19+00:00"
181+
},
179182
"tests/aws/services/events/test_events.py::TestEvents::test_put_events_without_source": {
180183
"last_validated_date": "2024-06-19T10:40:50+00:00"
181184
}

0 commit comments

Comments
 (0)
0