8000 Address comments: test override & remove redundant param check · localstack/localstack@99192e9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 99192e9

Browse files
committed
Address comments: test override & remove redundant param check
1 parent 81db6c0 commit 99192e9

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

localstack-core/localstack/services/lambda_/event_source_mapping/pollers/sqs_poller.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def _handle_receive_message_override(params, context, **kwargs):
6060
# Allow overide parameter to be greater than default and less than maxiumum batch size.
6161
override = min(requested_count, self.sqs_queue_parameters["BatchSize"])
6262
context[HEADER_LOCALSTACK_SQS_OVERRIDE_MESSAGE_COUNT] = str(override)
63-
params["MaxNumberOfMessages"] = min(requested_count, DEFAULT_MAX_RECEIVE_COUNT)
6463

6564
def _handle_delete_batch_override(params, context, **kwargs):
6665
requested_count = len(params.get("Entries", []))

tests/aws/services/lambda_/event_source_mapping/test_lambda_integration_sqs.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,8 +1560,20 @@ def test_duplicate_event_source_mappings(
15601560
EventSourceArn=event_source_arn,
15611561
)
15621562

1563-
@pytest.mark.skip(
1564-
reason="Flushing based on payload sizes not yet implemented so large payloads are causing issues."
1563+
@pytest.mark.parametrize(
1564+
"batch_size",
1565+
[
1566+
20,
1567+
100,
1568+
1_000,
1569+
pytest.param(
1570+
10_000,
1571+
marks=pytest.mark.skip(
1572+
reason="Flushing based on payload sizes not yet implemented so large payloads are causing issues."
1573+ 8000
),
1574+
id="10000",
1575+
),
1576+
],
15651577
)
15661578
@markers.aws.only_localstack
15671579
def test_sqs_event_source_mapping_batch_size_override(
@@ -1572,9 +1584,10 @@ def test_sqs_event_source_mapping_batch_size_override(
15721584
lambda_su_role,
15731585
cleanups,
15741586
aws_client,
1587+
batch_size,
15751588
):
15761589
function_name = f"lambda_func-{short_uid()}"
1577-
queue_name = f"queue-{short_uid()}-1"
1590+
queue_name = f"queue-{short_uid()}"
15781591
mapping_uuid = None
15791592

15801593
create_lambda_function(
@@ -1586,18 +1599,19 @@ def test_sqs_event_source_mapping_batch_size_override(
15861599
queue_url = sqs_create_queue(QueueName=queue_name)
15871600
queue_arn = sqs_get_queue_arn(queue_url)
15881601

1589-
for _ in range(1_00 8000 0):
1602+
# Send messages in batches of 10 i.e batch_size = 10_000 means 1_000 requests of 10 messages each.
1603+
for _ in range(batch_size // 10):
15901604
entries = [{"Id": str(i), "MessageBody": json.dumps({"foo": "bar"})} for i in range(10)]
15911605
aws_client.sqs.send_message_batch(QueueUrl=queue_url, Entries=entries)
15921606

15931607
# Wait a few seconds to ensure all messages are loaded in queue
1594-
_await_queue_size(aws_client.sqs, queue_url, 10_000)
1608+
_await_queue_size(aws_client.sqs, queue_url, batch_size)
15951609

15961610
create_event_source_mapping_response = aws_client.lambda_.create_event_source_mapping(
15971611
EventSourceArn=queue_arn,
15981612
FunctionName=function_name,
15991613
MaximumBatchingWindowInSeconds=10,
1600-
BatchSize=10_000,
1614+
BatchSize=batch_size,
16011615
)
16021616
mapping_uuid = create_event_source_mapping_response["UUID"]
16031617
cleanups.append(lambda: aws_client.lambda_.delete_event_source_mapping(UUID=mapping_uuid))
@@ -1612,7 +1626,8 @@ def test_sqs_event_source_mapping_batch_size_override(
16121626
logs_client=aws_client.logs,
16131627
)
16141628

1615-
assert len(events) == 10_000
1629+
assert len(events) == 1
1630+
assert len(events[0].get("Records", [])) == batch_size
16161631

16171632
rs = aws_client.sqs.receive_message(QueueUrl=queue_url)
16181633
assert rs.get("Messages", []) == []

0 commit comments

Comments
 (0)
0