Skip to content

Commit 9ee268e

Browse files
committed
fix(e2e): fix idempotency tests
1 parent 287698b commit 9ee268e

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

aws_lambda_powertools/utilities/idempotency/persistence/base.py

+2
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ def _get_hashed_idempotency_key(self, data: Dict[str, Any]) -> Optional[str]:
196196
def is_missing_idempotency_key(data) -> bool:
197197
if type(data).__name__ in ("tuple", "list", "dict"):
198198
return all(x is None for x in data)
199+
elif isinstance(data, (int, float, bool)):
200+
return False
199201
return not data
200202

201203
def _get_hashed_payload(self, data: Dict[str, Any]) -> str:

tests/e2e/event_handler/infrastructure.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,14 @@ def _create_api_gateway_http(self, function: Function):
7373
CfnOutput(self.stack, "APIGatewayHTTPUrl", value=(apigw.url or ""))
7474

7575
def _create_api_gateway_rest(self, function: Function):
76-
apigw = apigwv1.RestApi(self.stack, "APIGatewayRest", deploy_options=apigwv1.StageOptions(stage_name="dev"))
76+
apigw = apigwv1.RestApi(
77+
self.stack,
78+
"APIGatewayRest",
79+
deploy_options=apigwv1.StageOptions(stage_name="dev"),
80+
# disables creation of a role that is not destroyed due to a breaking change in CDK
81+
# https://github.com/aws/aws-cdk/issues/22020
82+
cloud_watch_role=False,
83+
)
7784

7885
todos = apigw.root.add_resource("todos")
7986
todos.add_method("POST", apigwv1.LambdaIntegration(function, proxy=True))

tests/functional/idempotency/test_idempotency.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -952,11 +952,6 @@ def test_is_missing_idempotency_key():
952952
assert BasePersistenceLayer.is_missing_idempotency_key({})
953953
# GIVEN an empty str THEN is_missing_idempotency_key is True
954954
assert BasePersistenceLayer.is_missing_idempotency_key("")
955-
# GIVEN False THEN is_missing_idempotency_key is True
956-
assert BasePersistenceLayer.is_missing_idempotency_key(False)
957-
# GIVEN number 0 THEN is_missing_idempotency_key is True
958-
assert BasePersistenceLayer.is_missing_idempotency_key(0)
959-
960955
# GIVEN None THEN is_missing_idempotency_key is True
961956
assert BasePersistenceLayer.is_missing_idempotency_key(None)
962957
# GIVEN a list of Nones THEN is_missing_idempotency_key is True
@@ -966,15 +961,23 @@ def test_is_missing_idempotency_key():
966961
# GIVEN a dict of Nones THEN is_missing_idempotency_key is True
967962
assert BasePersistenceLayer.is_missing_idempotency_key({None: None})
968963

964+
# GIVEN True THEN is_missing_idempotency_key is False
965+
assert BasePersistenceLayer.is_missing_idempotency_key(True) is False
966+
# GIVEN False THEN is_missing_idempotency_key is False
967+
assert BasePersistenceLayer.is_missing_idempotency_key(False) is False
968+
# GIVEN number 0 THEN is_missing_idempotency_key is False
969+
assert BasePersistenceLayer.is_missing_idempotency_key(0) is False
970+
# GIVEN number 0.0 THEN is_missing_idempotency_key is False
971+
assert BasePersistenceLayer.is_missing_idempotency_key(0.0) is False
969972
# GIVEN a str THEN is_missing_idempotency_key is False
970973
assert BasePersistenceLayer.is_missing_idempotency_key("Value") is False
971974
# GIVEN str "False" THEN is_missing_idempotency_key is False
972975
assert BasePersistenceLayer.is_missing_idempotency_key("False") is False
973-
# GIVEN an number THEN is_missing_idempotency_key is False
976+
# GIVEN a number THEN is_missing_idempotency_key is False
974977
assert BasePersistenceLayer.is_missing_idempotency_key(1000) is False
975978
# GIVEN a float THEN is_missing_idempotency_key is False
976979
assert BasePersistenceLayer.is_missing_idempotency_key(10.01) is False
977-
# GIVEN a list of all not None THEN is_missing_idempotency_key is False
980+
# GIVEN a list with some items THEN is_missing_idempotency_key is False
978981
assert BasePersistenceLayer.is_missing_idempotency_key([None, "Value"]) is False
979982

980983

0 commit comments

Comments
 (0)