2424 simple_key_dict ,
2525)
2626from ...requests import (
27+ basic_batch_execute_statement_request ,
2728 basic_batch_get_item_request_ddb ,
2829 basic_batch_get_item_request_dict ,
2930 basic_batch_write_item_delete_request_ddb ,
3233 basic_batch_write_item_put_request_dict ,
3334 basic_delete_item_request_ddb ,
3435 basic_delete_item_request_dict ,
36+ basic_execute_statement_request ,
37+ basic_execute_transaction_request ,
3538 basic_get_item_request_ddb ,
3639 basic_get_item_request_dict ,
3740 basic_put_item_request_ddb ,
4649 basic_transact_write_item_delete_request_dict ,
4750 basic_transact_write_item_put_request_ddb ,
4851 basic_transact_write_item_put_request_dict ,
49- basic_update_item_request_ddb ,
50- basic_update_item_request_dict ,
51- basic_execute_statement_request ,
52- basic_execute_transaction_request ,
53- basic_batch_execute_statement_request ,
52+ basic_update_item_request_ddb_signed_attribute ,
53+ basic_update_item_request_ddb_unsigned_attribute ,
54+ basic_update_item_request_dict_signed_attribute ,
55+ basic_update_item_request_dict_unsigned_attribute ,
5456)
5557from . import sort_dynamodb_json_lists
5658
@@ -381,14 +383,39 @@ def test_GIVEN_valid_transact_write_and_get_requests_WHEN_transact_write_and_get
381383
382384
383385@pytest .fixture
384- def update_item_request (expect_standard_dictionaries , test_item ):
386+ def update_item_request_unsigned_attribute (expect_standard_dictionaries , test_item ):
385387 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 )
388+ return {
389+ ** basic_update_item_request_dict_unsigned_attribute (test_item ),
390+ "TableName" : INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME ,
391+ }
392+ return basic_update_item_request_ddb_unsigned_attribute (test_item )
388393
389394
390- def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException (
391- client , update_item_request , encrypted ,
395+ def test_WHEN_update_item_with_unsigned_attribute_THEN_passes (
396+ client , update_item_request_unsigned_attribute , encrypted , get_item_request
397+ ):
398+ # Given: Valid update_item request
399+ # When: update_item
400+ update_response = client .update_item (** update_item_request_unsigned_attribute )
401+ # Then: update_item succeeds
402+ assert update_response ["ResponseMetadata" ]["HTTPStatusCode" ] == 200
403+
404+
405+ @pytest .fixture
406+ def update_item_request_signed_attribute (expect_standard_dictionaries , test_item ):
407+ if expect_standard_dictionaries :
408+ return {
409+ ** basic_update_item_request_dict_signed_attribute (test_item ),
410+ "TableName" : INTEG_TEST_DEFAULT_DYNAMODB_TABLE_NAME ,
411+ }
412+ return basic_update_item_request_ddb_signed_attribute (test_item )
413+
414+
415+ def test_WHEN_update_item_with_signed_attribute_THEN_raises_DynamoDbEncryptionTransformsException (
416+ client ,
417+ update_item_request_signed_attribute ,
418+ encrypted ,
392419):
393420 """Test that update_item raises DynamoDbEncryptionTransformsException."""
394421 if not encrypted :
@@ -398,9 +425,7 @@ def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException(
398425 # Then: DynamoDbEncryptionTransformsException is raised
399426 with pytest .raises (DynamoDbEncryptionTransformsException ):
400427 # When: Calling update_item
401- client .update_item (
402- ** update_item_request
403- )
428+ client .update_item (** update_item_request_signed_attribute )
404429
405430
406431@pytest .fixture
@@ -409,7 +434,9 @@ def execute_statement_request():
409434
410435
411436def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException (
412- client , execute_statement_request , encrypted ,
437+ client ,
438+ execute_statement_request ,
439+ encrypted ,
413440):
414441 """Test that execute_statement raises DynamoDbEncryptionTransformsException."""
415442 if not encrypted :
@@ -419,9 +446,7 @@ def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsExceptio
419446 # Then: DynamoDbEncryptionTransformsException is raised
420447 with pytest .raises (DynamoDbEncryptionTransformsException ):
421448 # When: Calling update_item
422- client .execute_statement (
423- ** execute_statement_request
424- )
449+ client .execute_statement (** execute_statement_request )
425450
426451
427452@pytest .fixture
@@ -430,7 +455,9 @@ def execute_transaction_request():
430455
431456
432457def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsException (
433- client , execute_transaction_request , encrypted ,
458+ client ,
459+ execute_transaction_request ,
460+ encrypted ,
434461):
435462 """Test that execute_transaction raises DynamoDbEncryptionTransformsException."""
436463 if not encrypted :
@@ -440,9 +467,7 @@ def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsExcept
440467 # Then: DynamoDbEncryptionTransformsException is raised
441468 with pytest .raises (DynamoDbEncryptionTransformsException ):
442469 # When: Calling update_item
443- client .execute_transaction (
444- ** execute_transaction_request
445- )
470+ client .execute_transaction (** execute_transaction_request )
446471
447472
448473@pytest .fixture
@@ -451,7 +476,9 @@ def batch_execute_statement_request():
451476
452477
453478def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException (
454- client , batch_execute_statement_request , encrypted ,
479+ client ,
480+ batch_execute_statement_request ,
481+ encrypted ,
455482):
456483 """Test that batch_execute_statement raises DynamoDbEncryptionTransformsException."""
457484 if not encrypted :
@@ -461,9 +488,7 @@ def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsEx
461488 # Then: DynamoDbEncryptionTransformsException is raised
462489 with pytest .raises (DynamoDbEncryptionTransformsException ):
463490 # When: Calling update_item
464- client .batch_execute_statement (
465- ** batch_execute_statement_request
466- )
491+ client .batch_execute_statement (** batch_execute_statement_request )
467492
468493
469494def test_WHEN_get_paginator_THEN_correct_paginator_is_returned ():
0 commit comments