4646 basic_transact_write_item_delete_request_dict ,
4747 basic_transact_write_item_put_request_ddb ,
4848 basic_transact_write_item_put_request_dict ,
49- basic_update_item_request_ddb ,
50- basic_update_item_request_dict ,
49+ basic_update_item_request_ddb_signed_attribute ,
50+ basic_update_item_request_ddb_unsigned_attribute ,
51+ basic_update_item_request_dict_signed_attribute ,
52+ basic_update_item_request_dict_unsigned_attribute ,
5153 basic_execute_statement_request ,
5254 basic_execute_transaction_request ,
5355 basic_batch_execute_statement_request ,
@@ -379,16 +381,31 @@ def test_GIVEN_valid_transact_write_and_get_requests_WHEN_transact_write_and_get
379381 # Then: transact_write_item delete succeeds
380382 assert transact_write_delete_response ["ResponseMetadata" ]["HTTPStatusCode" ] == 200
381383
384+ @pytest .fixture
385+ def update_item_request_unsigned_attribute (expect_standard_dictionaries , test_item ):
386+ if expect_standard_dictionaries :
387+ return {** basic_update_item_request_dict_unsigned_attribute (test_item ), "TableName" : INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME }
388+ return basic_update_item_request_ddb_unsigned_attribute (test_item )
389+
390+
391+ def test_WHEN_update_item_with_unsigned_attribute_THEN_passes (
392+ client , update_item_request_unsigned_attribute , encrypted , get_item_request
393+ ):
394+ # Given: Valid update_item request
395+ # When: update_item
396+ update_response = client .update_item (** update_item_request_unsigned_attribute )
397+ # Then: update_item succeeds
398+ assert update_response ["ResponseMetadata" ]["HTTPStatusCode" ] == 200
382399
383400@pytest .fixture
384- def update_item_request (expect_standard_dictionaries , test_item ):
401+ def update_item_request_signed_attribute (expect_standard_dictionaries , test_item ):
385402 if expect_standard_dictionaries :
386- return {** basic_update_item_request_dict (test_item ), "TableName" : INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME }
387- return basic_update_item_request_ddb (test_item )
403+ return {** basic_update_item_request_dict_signed_attribute (test_item ), "TableName" : INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME }
404+ return basic_update_item_request_ddb_signed_attribute (test_item )
388405
389406
390- def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException (
391- client , update_item_request , encrypted ,
407+ def test_WHEN_update_item_with_signed_attribute_THEN_raises_DynamoDbEncryptionTransformsException (
408+ client , update_item_request_signed_attribute , encrypted ,
392409):
393410 """Test that update_item raises DynamoDbEncryptionTransformsException."""
394411 if not encrypted :
@@ -399,7 +416,7 @@ def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException(
399416 with pytest .raises (DynamoDbEncryptionTransformsException ):
400417 # When: Calling update_item
401418 client .update_item (
402- ** update_item_request
419+ ** update_item_request_signed_attribute
403420 )
404421
405422
0 commit comments