Skip to content

Commit 1c749e6

Browse files
author
Lucas McDonald
committed
m
1 parent 7ac8a18 commit 1c749e6

File tree

1 file changed

+46
-48
lines changed

1 file changed

+46
-48
lines changed

DynamoDbEncryption/runtimes/python/test/unit/internal/test_client_to_resource.py

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414
simple_key_dict,
1515
)
1616
from ...requests import (
17-
basic_batch_execute_statement_request_ddb,
18-
basic_batch_execute_statement_request_dict,
17+
basic_batch_execute_statement_request,
1918
basic_batch_get_item_request_ddb,
2019
basic_batch_get_item_request_dict,
2120
basic_batch_write_item_delete_request_ddb,
@@ -24,10 +23,8 @@
2423
basic_batch_write_item_put_request_dict,
2524
basic_delete_item_request_ddb,
2625
basic_delete_item_request_dict,
27-
basic_execute_statement_request_ddb,
28-
basic_execute_statement_request_dict,
29-
basic_execute_transaction_request_ddb,
30-
basic_execute_transaction_request_dict,
26+
basic_execute_statement_request,
27+
basic_execute_transaction_request,
3128
basic_get_item_request_ddb,
3229
basic_get_item_request_dict,
3330
basic_put_item_request_ddb,
@@ -44,8 +41,10 @@
4441
basic_transact_write_item_delete_request_dict,
4542
basic_transact_write_item_put_request_ddb,
4643
basic_transact_write_item_put_request_dict,
47-
basic_update_item_request_ddb,
48-
basic_update_item_request_dict,
44+
basic_update_item_request_ddb_unsigned_attribute,
45+
basic_update_item_request_dict_unsigned_attribute,
46+
basic_update_item_request_ddb_signed_attribute,
47+
basic_update_item_request_dict_signed_attribute,
4948
exhaustive_get_item_request_ddb,
5049
exhaustive_get_item_request_dict,
5150
exhaustive_put_item_request_ddb,
@@ -58,6 +57,7 @@
5857
from ...responses import (
5958
basic_batch_get_item_response,
6059
basic_batch_write_item_put_response,
60+
basic_update_item_response,
6161
basic_delete_item_response,
6262
basic_get_item_response,
6363
basic_put_item_response,
@@ -554,12 +554,18 @@ def test_GIVEN_test_transact_get_items_response_WHEN_client_to_resource_THEN_ret
554554

555555
@pytest.fixture
556556
def test_update_item_request_ddb():
557-
return basic_update_item_request_ddb
557+
# Select unsigned attribute without loss of generality;
558+
# resource/client logic doesn't care about signed attributes
559+
# TODO: Add exhaustive request
560+
return basic_update_item_request_ddb_unsigned_attribute
558561

559562

560563
@pytest.fixture
561564
def test_update_item_request_dict():
562-
return basic_update_item_request_dict
565+
# Select unsigned attribute without loss of generality;
566+
# resource/client logic doesn't care about signed attributes
567+
# TODO: Add exhaustive request
568+
return basic_update_item_request_dict_unsigned_attribute
563569

564570

565571
def test_GIVEN_test_update_item_request_WHEN_client_to_resource_THEN_returns_dict_value(
@@ -572,35 +578,37 @@ def test_GIVEN_test_update_item_request_WHEN_client_to_resource_THEN_returns_dic
572578
# Then: Returns dict value
573579
assert dict_item == test_update_item_request_dict(test_dict_item)
574580

581+
@pytest.fixture
582+
def test_update_item_response():
583+
# TODO: Add exhaustive response
584+
return basic_update_item_response
585+
575586

576-
def test_GIVEN_test_update_item_response_WHEN_client_to_resource_THEN_raises_NotImplementedError():
587+
def test_GIVEN_test_update_item_response_WHEN_client_to_resource_THEN_returns_dict_value(
588+
test_update_item_response, test_ddb_item, test_dict_item
589+
):
577590
# Given: Update item response
578591
response = {"Some": "Response"}
579-
# Then: Raises NotImplementedError
580-
with pytest.raises(NotImplementedError):
581-
# When: Converting to resource format
582-
client_to_resource_converter.update_item_response(response)
583-
584-
585-
@pytest.fixture
586-
def test_execute_statement_request_ddb():
587-
return basic_execute_statement_request_ddb
592+
# When: Converting to resource format
593+
dict_item = client_to_resource_converter.update_item_response(response)
594+
# Then: Returns dict value
595+
assert dict_item == response
588596

589597

590598
@pytest.fixture
591-
def test_execute_statement_request_dict():
592-
return basic_execute_statement_request_dict
599+
def test_execute_statement_request():
600+
return basic_execute_statement_request
593601

594602

595603
def test_GIVEN_test_execute_statement_request_WHEN_client_to_resource_THEN_returns_dict_value(
596-
test_execute_statement_request_ddb, test_execute_statement_request_dict, test_ddb_item, test_dict_item
604+
test_execute_statement_request, test_ddb_item, test_dict_item
597605
):
598606
# Given: Execute statement request
599-
request = test_execute_statement_request_ddb()
607+
request = test_execute_statement_request()
600608
# When: Converting to resource format
601609
dict_item = client_to_resource_converter.execute_statement_request(request)
602-
# Then: Returns dict value
603-
assert dict_item == test_execute_statement_request_dict()
610+
# Then: Returns dict value (here, request is not modified)
611+
assert dict_item == test_execute_statement_request()
604612

605613

606614
def test_GIVEN_test_execute_statement_response_WHEN_client_to_resource_THEN_raises_NotImplementedError():
@@ -613,24 +621,19 @@ def test_GIVEN_test_execute_statement_response_WHEN_client_to_resource_THEN_rais
613621

614622

615623
@pytest.fixture
616-
def test_execute_transaction_request_ddb():
617-
return basic_execute_transaction_request_ddb
618-
619-
620-
@pytest.fixture
621-
def test_execute_transaction_request_dict():
622-
return basic_execute_transaction_request_dict
624+
def test_execute_transaction_request():
625+
return basic_execute_transaction_request
623626

624627

625628
def test_GIVEN_test_execute_transaction_request_WHEN_client_to_resource_THEN_returns_dict_value(
626-
test_execute_transaction_request_ddb, test_execute_transaction_request_dict, test_ddb_item, test_dict_item
629+
test_execute_transaction_request, test_ddb_item, test_dict_item
627630
):
628631
# Given: Execute transaction request
629-
request = test_execute_transaction_request_ddb()
632+
request = test_execute_transaction_request()
630633
# When: Converting to resource format
631634
dict_item = client_to_resource_converter.execute_transaction_request(request)
632-
# Then: Returns dict value
633-
assert dict_item == test_execute_transaction_request_dict()
635+
# Then: Returns dict value (here, request is not modified)
636+
assert dict_item == test_execute_transaction_request()
634637

635638

636639
def test_GIVEN_test_execute_transaction_response_WHEN_client_to_resource_THEN_raises_NotImplementedError():
@@ -643,24 +646,19 @@ def test_GIVEN_test_execute_transaction_response_WHEN_client_to_resource_THEN_ra
643646

644647

645648
@pytest.fixture
646-
def test_batch_execute_statement_request_ddb():
647-
return basic_batch_execute_statement_request_ddb
648-
649-
650-
@pytest.fixture
651-
def test_batch_execute_statement_request_dict():
652-
return basic_batch_execute_statement_request_dict
649+
def test_batch_execute_statement_request():
650+
return basic_batch_execute_statement_request
653651

654652

655653
def test_GIVEN_test_batch_execute_statement_request_WHEN_client_to_resource_THEN_returns_dict_value(
656-
test_batch_execute_statement_request_ddb, test_batch_execute_statement_request_dict, test_ddb_item, test_dict_item
654+
test_batch_execute_statement_request, test_ddb_item, test_dict_item
657655
):
658656
# Given: Batch execute statement request
659-
request = test_batch_execute_statement_request_ddb()
657+
request = test_batch_execute_statement_request()
660658
# When: Converting to resource format
661659
dict_item = client_to_resource_converter.batch_execute_statement_request(request)
662-
# Then: Returns dict value
663-
assert dict_item == test_batch_execute_statement_request_dict()
660+
# Then: Returns dict value (here, request is not modified)
661+
assert dict_item == test_batch_execute_statement_request()
664662

665663

666664
def test_GIVEN_test_batch_execute_statement_response_WHEN_client_to_resource_THEN_raises_NotImplementedError():

0 commit comments

Comments
 (0)