Skip to content

Commit 92cdcd1

Browse files
committed
chore(idempotency): make existing tests pass with expire_in_progress
1 parent 83a4ac6 commit 92cdcd1

File tree

3 files changed

+228
-27
lines changed

3 files changed

+228
-27
lines changed

tests/functional/idempotency/conftest.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ def default_jmespath():
7575

7676

7777
@pytest.fixture
78-
def expected_params_update_item(serialized_lambda_response, hashed_idempotency_key):
79-
return {
78+
def expected_params_update_item(serialized_lambda_response, hashed_idempotency_key, idempotency_config):
79+
params = {
8080
"ExpressionAttributeNames": {"#expiry": "expiration", "#response_data": "data", "#status": "status"},
8181
"ExpressionAttributeValues": {
8282
":expiry": stub.ANY,
@@ -88,6 +88,13 @@ def expected_params_update_item(serialized_lambda_response, hashed_idempotency_k
8888
"UpdateExpression": "SET #response_data = :response_data, " "#expiry = :expiry, #status = :status",
8989
}
9090

91+
if idempotency_config.expires_in_progress:
92+
params["ExpressionAttributeNames"]["#in_progress_expiry"] = "in_progress_expiration"
93+
params["ExpressionAttributeValues"][":in_progress_expiry"] = stub.ANY
94+
params["UpdateExpression"] += ", #in_progress_expiry = :in_progress_expiry"
95+
96+
return params
97+
9198

9299
@pytest.fixture
93100
def expected_params_update_item_with_validation(
@@ -195,6 +202,7 @@ def idempotency_config(config, request, default_jmespath):
195202
return IdempotencyConfig(
196203
event_key_jmespath=request.param.get("event_key_jmespath") or default_jmespath,
197204
use_local_cache=request.param["use_local_cache"],
205+
expires_in_progress=request.param.get("expires_in_progress") or False,
198206
)
199207

200208

@@ -212,6 +220,14 @@ def config_with_validation(config, request, default_jmespath):
212220
)
213221

214222

223+
@pytest.fixture
224+
def config_with_expires_in_progress(config, request, default_jmespath):
225+
return IdempotencyConfig(
226+
event_key_jmespath=default_jmespath,
227+
expires_in_progress=True,
228+
)
229+
230+
215231
@pytest.fixture
216232
def config_with_jmespath_options(config, request):
217233
class CustomFunctions(functions.Functions):

0 commit comments

Comments
 (0)