24
24
simple_key_dict ,
25
25
)
26
26
from ...requests import (
27
+ basic_batch_execute_statement_request ,
27
28
basic_batch_get_item_request_ddb ,
28
29
basic_batch_get_item_request_dict ,
29
30
basic_batch_write_item_delete_request_ddb ,
32
33
basic_batch_write_item_put_request_dict ,
33
34
basic_delete_item_request_ddb ,
34
35
basic_delete_item_request_dict ,
36
+ basic_execute_statement_request ,
37
+ basic_execute_transaction_request ,
35
38
basic_get_item_request_ddb ,
36
39
basic_get_item_request_dict ,
37
40
basic_put_item_request_ddb ,
46
49
basic_transact_write_item_delete_request_dict ,
47
50
basic_transact_write_item_put_request_ddb ,
48
51
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 ,
54
56
)
55
57
from . import sort_dynamodb_json_lists
56
58
@@ -381,14 +383,39 @@ def test_GIVEN_valid_transact_write_and_get_requests_WHEN_transact_write_and_get
381
383
382
384
383
385
@pytest .fixture
384
- def update_item_request (expect_standard_dictionaries , test_item ):
386
+ def update_item_request_unsigned_attribute (expect_standard_dictionaries , test_item ):
385
387
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 )
388
393
389
394
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 ,
392
419
):
393
420
"""Test that update_item raises DynamoDbEncryptionTransformsException."""
394
421
if not encrypted :
@@ -398,9 +425,7 @@ def test_WHEN_update_item_THEN_raises_DynamoDbEncryptionTransformsException(
398
425
# Then: DynamoDbEncryptionTransformsException is raised
399
426
with pytest .raises (DynamoDbEncryptionTransformsException ):
400
427
# When: Calling update_item
401
- client .update_item (
402
- ** update_item_request
403
- )
428
+ client .update_item (** update_item_request_signed_attribute )
404
429
405
430
406
431
@pytest .fixture
@@ -409,7 +434,9 @@ def execute_statement_request():
409
434
410
435
411
436
def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException (
412
- client , execute_statement_request , encrypted ,
437
+ client ,
438
+ execute_statement_request ,
439
+ encrypted ,
413
440
):
414
441
"""Test that execute_statement raises DynamoDbEncryptionTransformsException."""
415
442
if not encrypted :
@@ -419,9 +446,7 @@ def test_WHEN_execute_statement_THEN_raises_DynamoDbEncryptionTransformsExceptio
419
446
# Then: DynamoDbEncryptionTransformsException is raised
420
447
with pytest .raises (DynamoDbEncryptionTransformsException ):
421
448
# When: Calling update_item
422
- client .execute_statement (
423
- ** execute_statement_request
424
- )
449
+ client .execute_statement (** execute_statement_request )
425
450
426
451
427
452
@pytest .fixture
@@ -430,7 +455,9 @@ def execute_transaction_request():
430
455
431
456
432
457
def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsException (
433
- client , execute_transaction_request , encrypted ,
458
+ client ,
459
+ execute_transaction_request ,
460
+ encrypted ,
434
461
):
435
462
"""Test that execute_transaction raises DynamoDbEncryptionTransformsException."""
436
463
if not encrypted :
@@ -440,9 +467,7 @@ def test_WHEN_execute_transaction_THEN_raises_DynamoDbEncryptionTransformsExcept
440
467
# Then: DynamoDbEncryptionTransformsException is raised
441
468
with pytest .raises (DynamoDbEncryptionTransformsException ):
442
469
# When: Calling update_item
443
- client .execute_transaction (
444
- ** execute_transaction_request
445
- )
470
+ client .execute_transaction (** execute_transaction_request )
446
471
447
472
448
473
@pytest .fixture
@@ -451,7 +476,9 @@ def batch_execute_statement_request():
451
476
452
477
453
478
def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsException (
454
- client , batch_execute_statement_request , encrypted ,
479
+ client ,
480
+ batch_execute_statement_request ,
481
+ encrypted ,
455
482
):
456
483
"""Test that batch_execute_statement raises DynamoDbEncryptionTransformsException."""
457
484
if not encrypted :
@@ -461,9 +488,7 @@ def test_WHEN_batch_execute_statement_THEN_raises_DynamoDbEncryptionTransformsEx
461
488
# Then: DynamoDbEncryptionTransformsException is raised
462
489
with pytest .raises (DynamoDbEncryptionTransformsException ):
463
490
# When: Calling update_item
464
- client .batch_execute_statement (
465
- ** batch_execute_statement_request
466
- )
491
+ client .batch_execute_statement (** batch_execute_statement_request )
467
492
468
493
469
494
def test_WHEN_get_paginator_THEN_correct_paginator_is_returned ():
0 commit comments