@@ -1667,13 +1667,19 @@ def dummy(payload):
1667
1667
dummy (payload = data_two )
1668
1668
1669
1669
1670
- def test_idempotency_disabled_envvar (monkeypatch , lambda_context , persistence_store : DynamoDBPersistenceLayer ):
1670
+ @pytest .mark .parametrize ("idempotency_disabled_value" , ["1" , "y" , "yes" , "t" , "true" , "on" ])
1671
+ def test_idempotency_enabled_envvar (
1672
+ monkeypatch ,
1673
+ lambda_context ,
1674
+ persistence_store : DynamoDBPersistenceLayer ,
1675
+ idempotency_disabled_value ,
1676
+ ):
1671
1677
# Scenario to validate no requests sent to dynamodb table when 'POWERTOOLS_IDEMPOTENCY_DISABLED' is set
1672
1678
mock_event = {"data" : "value" }
1673
1679
1674
1680
persistence_store .client = MagicMock ()
1675
1681
1676
- monkeypatch .setenv ("POWERTOOLS_IDEMPOTENCY_DISABLED" , "1" )
1682
+ monkeypatch .setenv ("POWERTOOLS_IDEMPOTENCY_DISABLED" , str ( idempotency_disabled_value ) )
1677
1683
1678
1684
@idempotent_function (data_keyword_argument = "data" , persistence_store = persistence_store )
1679
1685
def dummy (data ):
@@ -1689,6 +1695,34 @@ def dummy_handler(event, context):
1689
1695
assert len (persistence_store .client .method_calls ) == 0
1690
1696
1691
1697
1698
+ @pytest .mark .parametrize ("idempotency_disabled_value" , ["0" , "n" , "no" , "f" , "false" , "off" ])
1699
+ def test_idempotency_disabled_envvar (
1700
+ monkeypatch ,
1701
+ lambda_context ,
1702
+ persistence_store : DynamoDBPersistenceLayer ,
1703
+ idempotency_disabled_value ,
1704
+ ):
1705
+ # Scenario to validate no requests sent to dynamodb table when 'POWERTOOLS_IDEMPOTENCY_DISABLED' is false
1706
+ mock_event = {"data" : "value" }
1707
+
1708
+ persistence_store .client = MagicMock ()
1709
+
1710
+ monkeypatch .setenv ("POWERTOOLS_IDEMPOTENCY_DISABLED" , str (idempotency_disabled_value ))
1711
+
1712
+ @idempotent_function (data_keyword_argument = "data" , persistence_store = persistence_store )
1713
+ def dummy (data ):
1714
+ return {"message" : "hello" }
1715
+
1716
+ @idempotent (persistence_store = persistence_store )
1717
+ def dummy_handler (event , context ):
1718
+ return {"message" : "hi" }
1719
+
1720
+ dummy (data = mock_event )
1721
+ dummy_handler (mock_event , lambda_context )
1722
+
1723
+ assert len (persistence_store .client .method_calls ) == 4
1724
+
1725
+
1692
1726
@pytest .mark .parametrize ("idempotency_config" , [{"use_local_cache" : True }], indirect = True )
1693
1727
def test_idempotent_function_duplicates (
1694
1728
idempotency_config : IdempotencyConfig ,
0 commit comments