Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions tests/aws/scenario/loan_broker/test_loan_broker.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,8 @@ def infrastructure(self, aws_client, infrastructure_setup):
@markers.aws.validated
@markers.snapshot.skip_snapshot_verify(
paths=[
"$..Table.DeletionProtectionEnabled",
"$..Table.ProvisionedThroughput.LastDecreaseDateTime",
"$..Table.ProvisionedThroughput.LastIncreaseDateTime",
"$..Table.Replicas",
]
)
def test_prefill_dynamodb_table(self, aws_client, infrastructure, snapshot):
Expand Down Expand Up @@ -166,7 +164,13 @@ def test_prefill_dynamodb_table(self, aws_client, infrastructure, snapshot):
)
@markers.aws.validated
@markers.snapshot.skip_snapshot_verify(
paths=["$..traceHeader", "$..cause"]
paths=[
"$..traceHeader",
"$..cause",
"$..redriveCount",
"$..redriveStatus",
"$..redriveStatusReason",
]
) # TODO add missing properties
def test_stepfunctions_input_recipient_list(
self, aws_client, infrastructure, step_function_input, expected_result, snapshot
Expand Down
31 changes: 24 additions & 7 deletions tests/aws/scenario/loan_broker/test_loan_broker.snapshot.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input0-SUCCEEDED]": {
"recorded-date": "02-08-2023, 11:58:05",
"recorded-date": "13-10-2025, 18:55:01",
"recorded-content": {
"describe-execution-finished": {
"executionArn": "<execution-arn:1>",
Expand Down Expand Up @@ -52,6 +52,9 @@
"outputDetails": {
"included": true
},
"redriveCount": 0,
"redriveStatus": "NOT_REDRIVABLE",
"redriveStatusReason": "Execution is SUCCEEDED and cannot be redriven",
"startDate": "datetime",
"stateMachineArn": "<state-machine-arn:1>",
"status": "SUCCEEDED",
Expand All @@ -65,7 +68,7 @@
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input1-SUCCEEDED]": {
"recorded-date": "02-08-2023, 11:58:07",
"recorded-date": "13-10-2025, 18:55:03",
"recorded-content": {
"describe-execution-finished": {
"executionArn": "<execution-arn:1>",
Expand Down Expand Up @@ -108,6 +111,9 @@
"outputDetails": {
"included": true
},
"redriveCount": 0,
"redriveStatus": "NOT_REDRIVABLE",
"redriveStatusReason": "Execution is SUCCEEDED and cannot be redriven",
"startDate": "datetime",
"stateMachineArn": "<state-machine-arn:1>",
"status": "SUCCEEDED",
Expand All @@ -121,7 +127,7 @@
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input2-FAILED]": {
"recorded-date": "02-08-2023, 11:58:10",
"recorded-date": "13-10-2025, 18:55:04",
"recorded-content": {
"describe-execution-finished": {
"cause": "An error occurred while executing the state 'Get Credit Score from credit bureau' (entered at the event id #2). The JSONPath '$.Payload.body.score' specified for the field 'Score.$' could not be found in the input '<json-input:1>'",
Expand All @@ -136,6 +142,8 @@
"included": true
},
"name": "<name:1>",
"redriveCount": 0,
"redriveStatus": "REDRIVABLE",
"startDate": "datetime",
"stateMachineArn": "<state-machine-arn:1>",
"status": "FAILED",
Expand All @@ -149,7 +157,7 @@
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input3-FAILED]": {
"recorded-date": "02-08-2023, 11:58:10",
"recorded-date": "13-10-2025, 18:55:05",
"recorded-content": {
"describe-execution-finished": {
"cause": "An error occurred while executing the state 'Get Credit Score from credit bureau' (entered at the event id #2). The JSONPath '$.SSN' specified for the field 'SSN.$' could not be found in the input '<json-input:1>'",
Expand All @@ -162,6 +170,8 @@
"included": true
},
"name": "<name:1>",
"redriveCount": 0,
"redriveStatus": "REDRIVABLE",
"startDate": "datetime",
"stateMachineArn": "<state-machine-arn:1>",
"status": "FAILED",
Expand All @@ -175,7 +185,7 @@
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input4-FAILED]": {
"recorded-date": "02-08-2023, 11:58:13",
"recorded-date": "13-10-2025, 18:55:07",
"recorded-content": {
"describe-execution-finished": {
"cause": "An error occurred while executing the state 'Get all bank quotes' (entered at the event id #12). The JSONPath '$.Amount' specified for the field 'Amount.$' could not be found in the input '<json-input:1>'",
Expand All @@ -188,6 +198,8 @@
"included": true
},
"name": "<name:1>",
"redriveCount": 0,
"redriveStatus": "REDRIVABLE",
"startDate": "datetime",
"stateMachineArn": "<state-machine-arn:1>",
"status": "FAILED",
Expand All @@ -201,7 +213,7 @@
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_prefill_dynamodb_table": {
"recorded-date": "24-08-2023, 16:33:21",
"recorded-date": "13-10-2025, 18:54:57",
"recorded-content": {
"describe_table": {
"Table": {
Expand Down Expand Up @@ -233,7 +245,12 @@
"TableId": "<uuid:1>",
"TableName": "LoanBrokerBanksTable",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
"TableStatus": "ACTIVE",
"WarmThroughput": {
"ReadUnitsPerSecond": 12000,
"Status": "ACTIVE",
"WriteUnitsPerSecond": 4000
}
},
"ResponseMetadata": {
"HTTPHeaders": {},
Expand Down
48 changes: 42 additions & 6 deletions tests/aws/scenario/loan_broker/test_loan_broker.validation.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,56 @@
{
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_prefill_dynamodb_table": {
"last_validated_date": "2023-08-24T14:33:21+00:00"
"last_validated_date": "2025-10-13T18:54:57+00:00",
"durations_in_seconds": {
"setup": 64.27,
"call": 1.44,
"teardown": 0.0,
"total": 65.71
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input0-SUCCEEDED]": {
"last_validated_date": "2023-08-02T09:58:05+00:00"
"last_validated_date": "2025-10-13T18:55:01+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 3.37,
"teardown": 0.0,
"total": 3.37
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input1-SUCCEEDED]": {
"last_validated_date": "2023-08-02T09:58:07+00:00"
"last_validated_date": "2025-10-13T18:55:03+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 1.85,
"teardown": 0.0,
"total": 1.85
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input2-FAILED]": {
"last_validated_date": "2023-08-02T09:58:10+00:00"
"last_validated_date": "2025-10-13T18:55:04+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 1.74,
"teardown": 0.0,
"total": 1.74
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input3-FAILED]": {
"last_validated_date": "2023-08-02T09:58:10+00:00"
"last_validated_date": "2025-10-13T18:55:05+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 0.61,
"teardown": 0.0,
"total": 0.61
}
},
"tests/aws/scenario/loan_broker/test_loan_broker.py::TestLoanBrokerScenario::test_stepfunctions_input_recipient_list[step_function_input4-FAILED]": {
"last_validated_date": "2023-08-02T09:58:13+00:00"
"last_validated_date": "2025-10-13T18:56:43+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 1.85,
"teardown": 96.39,
"total": 98.24
}
}
}
3 changes: 0 additions & 3 deletions tests/aws/scenario/note_taking/test_note_taking.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,8 @@ def _create_lambdas():
paths=[
"$..Tags",
"$..get_resources.items", # TODO apigateway.get-resources
"$..Table.DeletionProtectionEnabled",
"$..Table.ProvisionedThroughput.LastDecreaseDateTime",
"$..Table.ProvisionedThroughput.LastIncreaseDateTime",
"$..Table.Replicas",
"$..Table.WarmThroughput",
]
)
def test_validate_infra_setup(self, aws_client, infrastructure, snapshot):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import pytest
from aws_cdk import aws_dynamodb as dynamodb
from aws_cdk.aws_dynamodb import BillingMode
from botocore.exceptions import ClientError

from localstack.testing.pytest import markers
from localstack.utils.aws.arns import get_partition
Expand Down Expand Up @@ -67,8 +68,6 @@ def test_globalindex_read_write_provisioned_throughput_dynamodb_table(
paths=[
"$..Table.ProvisionedThroughput.LastDecreaseDateTime",
"$..Table.ProvisionedThroughput.LastIncreaseDateTime",
"$..Table.Replicas",
"$..Table.DeletionProtectionEnabled",
]
)
def test_default_name_for_table(deploy_cfn_template, snapshot, aws_client):
Expand All @@ -92,8 +91,6 @@ def test_default_name_for_table(deploy_cfn_template, snapshot, aws_client):
paths=[
"$..Table.ProvisionedThroughput.LastDecreaseDateTime",
"$..Table.ProvisionedThroughput.LastIncreaseDateTime",
"$..Table.Replicas",
"$..Table.DeletionProtectionEnabled",
]
)
@pytest.mark.parametrize("billing_mode", ["PROVISIONED", "PAY_PER_REQUEST"])
Expand All @@ -117,10 +114,8 @@ def test_billing_mode_as_conditional(deploy_cfn_template, snapshot, aws_client,
@markers.aws.validated
@markers.snapshot.skip_snapshot_verify(
paths=[
"$..Table.DeletionProtectionEnabled",
"$..Table.ProvisionedThroughput.LastDecreaseDateTime",
"$..Table.ProvisionedThroughput.LastIncreaseDateTime",
"$..Table.Replicas",
]
)
def test_global_table(deploy_cfn_template, snapshot, aws_client):
Expand All @@ -136,7 +131,7 @@ def test_global_table(deploy_cfn_template, snapshot, aws_client):

stack.destroy()

with pytest.raises(Exception) as ex:
with pytest.raises(ClientError) as ex:
aws_client.dynamodb.describe_table(TableName=stack.outputs["TableName"])

error_code = ex.value.response["Error"]["Code"]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_default_name_for_table": {
"recorded-date": "28-08-2023, 12:34:19",
"recorded-date": "13-10-2025, 18:57:55",
"recorded-content": {
"table_description": {
"Table": {
Expand Down Expand Up @@ -28,7 +28,12 @@
"TableId": "<uuid:1>",
"TableName": "<table-name:1>",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
"TableStatus": "ACTIVE",
"WarmThroughput": {
"ReadUnitsPerSecond": 5,
"Status": "ACTIVE",
"WriteUnitsPerSecond": 5
}
},
"ResponseMetadata": {
"HTTPHeaders": {},
Expand All @@ -54,7 +59,7 @@
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_billing_mode_as_conditional[PROVISIONED]": {
"recorded-date": "28-08-2023, 12:34:41",
"recorded-date": "13-10-2025, 18:59:26",
"recorded-content": {
"table_description": {
"Table": {
Expand Down Expand Up @@ -88,7 +93,12 @@
"TableId": "<uuid:1>",
"TableName": "<table-name:1>",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
"TableStatus": "ACTIVE",
"WarmThroughput": {
"ReadUnitsPerSecond": 5,
"Status": "ACTIVE",
"WriteUnitsPerSecond": 5
}
},
"ResponseMetadata": {
"HTTPHeaders": {},
Expand All @@ -98,7 +108,7 @@
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_billing_mode_as_conditional[PAY_PER_REQUEST]": {
"recorded-date": "28-08-2023, 12:35:02",
"recorded-date": "13-10-2025, 19:00:03",
"recorded-content": {
"table_description": {
"Table": {
Expand Down Expand Up @@ -136,7 +146,12 @@
"TableId": "<uuid:1>",
"TableName": "<table-name:1>",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
"TableStatus": "ACTIVE",
"WarmThroughput": {
"ReadUnitsPerSecond": 12000,
"Status": "ACTIVE",
"WriteUnitsPerSecond": 4000
}
},
"ResponseMetadata": {
"HTTPHeaders": {},
Expand All @@ -146,7 +161,7 @@
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_global_table": {
"recorded-date": "01-12-2023, 12:54:13",
"recorded-date": "13-10-2025, 19:01:29",
"recorded-content": {
"table_description": {
"Table": {
Expand Down Expand Up @@ -178,7 +193,12 @@
"TableId": "<uuid:1>",
"TableName": "<table-name:1>",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
"TableStatus": "ACTIVE",
"WarmThroughput": {
"ReadUnitsPerSecond": 12000,
"Status": "ACTIVE",
"WriteUnitsPerSecond": 4000
}
},
"ResponseMetadata": {
"HTTPHeaders": {},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,39 @@
{
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_billing_mode_as_conditional[PAY_PER_REQUEST]": {
"last_validated_date": "2023-08-28T10:35:02+00:00"
"last_validated_date": "2025-10-13T19:00:19+00:00",
"durations_in_seconds": {
"setup": 0.0,
"call": 21.82,
"teardown": 15.38,
"total": 37.2
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_billing_mode_as_conditional[PROVISIONED]": {
"last_validated_date": "2023-08-28T10:34:41+00:00"
"last_validated_date": "2025-10-13T18:59:41+00:00",
"durations_in_seconds": {
"setup": 0.47,
"call": 22.58,
"teardown": 15.38,
"total": 38.43
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_default_name_for_table": {
"last_validated_date": "2023-08-28T10:34:19+00:00"
"last_validated_date": "2025-10-13T18:58:11+00:00",
"durations_in_seconds": {
"setup": 0.48,
"call": 22.98,
"teardown": 15.44,
"total": 38.9
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_global_table": {
"last_validated_date": "2023-12-01T11:54:13+00:00"
"last_validated_date": "2025-10-13T19:01:29+00:00",
"durations_in_seconds": {
"setup": 0.47,
"call": 38.13,
"teardown": 0.24,
"total": 38.84
}
},
"tests/aws/services/cloudformation/resources/test_dynamodb.py::test_global_table_with_ttl_and_sse": {
"last_validated_date": "2024-03-12T15:44:36+00:00"
Expand Down
Loading
Loading