From a962aed7191ddfa075a900ec522caa04c8dee682 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Mon, 27 Dec 2021 09:42:17 -0800 Subject: [PATCH 1/2] fix(event-sources): return for none for null types --- .../utilities/data_classes/dynamo_db_stream_event.py | 5 ++--- tests/functional/test_data_classes.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py b/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py index 1ec3d6157bf..01d892f9edc 100644 --- a/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +++ b/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py @@ -106,14 +106,13 @@ def ns_value(self) -> Optional[List[str]]: return self.get("NS") @property - def null_value(self) -> Optional[bool]: + def null_value(self) -> None: """An attribute of type Null. Example: >>> {"NULL": True} """ - item = self.get("NULL") - return None if item is None else bool(item) + return None @property def s_value(self) -> Optional[str]: diff --git a/tests/functional/test_data_classes.py b/tests/functional/test_data_classes.py index 86d9344ca4d..9b3e3169de1 100644 --- a/tests/functional/test_data_classes.py +++ b/tests/functional/test_data_classes.py @@ -544,9 +544,19 @@ def test_dynamo_attribute_value_null_value(): attribute_value = AttributeValue(example_attribute_value) assert attribute_value.get_type == AttributeValueType.Null + assert attribute_value.null_value is None assert attribute_value.null_value == attribute_value.get_value +def test_dynamo_attribute_value_null_value_invalid(): + example_attribute_value = {"NULL": False} + + attribute_value = AttributeValue(example_attribute_value) + + assert attribute_value.get_type == AttributeValueType.Null + assert attribute_value.null_value is None + + def test_dynamo_attribute_value_s_value(): example_attribute_value = {"S": "Hello"} From e49a858dfe5ef5c5107c84481a9fa20822493e87 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Wed, 29 Dec 2021 14:48:58 -0800 Subject: [PATCH 2/2] chore: remove misleading test --- tests/functional/test_data_classes.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/functional/test_data_classes.py b/tests/functional/test_data_classes.py index 9b3e3169de1..d0d936ec2f8 100644 --- a/tests/functional/test_data_classes.py +++ b/tests/functional/test_data_classes.py @@ -548,15 +548,6 @@ def test_dynamo_attribute_value_null_value(): assert attribute_value.null_value == attribute_value.get_value -def test_dynamo_attribute_value_null_value_invalid(): - example_attribute_value = {"NULL": False} - - attribute_value = AttributeValue(example_attribute_value) - - assert attribute_value.get_type == AttributeValueType.Null - assert attribute_value.null_value is None - - def test_dynamo_attribute_value_s_value(): example_attribute_value = {"S": "Hello"}