Skip to content

Commit 37588c3

Browse files
author
Lucas McDonald
committed
m
1 parent ab7303e commit 37588c3

File tree

2 files changed

+52
-49
lines changed

2 files changed

+52
-49
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,11 +587,11 @@ def test_GIVEN_test_update_item_response_WHEN_client_to_resource_THEN_returns_di
587587
test_update_item_response, test_ddb_item, test_dict_item
588588
):
589589
# Given: Update item response
590-
response = {"Some": "Response"}
590+
response = test_update_item_response(test_ddb_item)
591591
# When: Converting to resource format
592592
dict_item = client_to_resource_converter.update_item_response(response)
593593
# Then: Returns dict value
594-
assert dict_item == response
594+
assert dict_item == test_update_item_response(test_dict_item)
595595

596596

597597
@pytest.fixture

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

Lines changed: 50 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
simple_key_dict,
1616
)
1717
from ...requests import (
18-
basic_batch_execute_statement_request_ddb,
19-
basic_batch_execute_statement_request_dict,
18+
basic_batch_execute_statement_request,
2019
basic_batch_get_item_request_ddb,
2120
basic_batch_get_item_request_dict,
2221
basic_batch_write_item_delete_request_ddb,
@@ -25,10 +24,8 @@
2524
basic_batch_write_item_put_request_dict,
2625
basic_delete_item_request_ddb,
2726
basic_delete_item_request_dict,
28-
basic_execute_statement_request_ddb,
29-
basic_execute_statement_request_dict,
30-
basic_execute_transaction_request_ddb,
31-
basic_execute_transaction_request_dict,
27+
basic_execute_statement_request,
28+
basic_execute_transaction_request,
3229
basic_get_item_request_ddb,
3330
basic_get_item_request_dict,
3431
basic_put_item_request_ddb,
@@ -45,8 +42,10 @@
4542
basic_transact_write_item_delete_request_dict,
4643
basic_transact_write_item_put_request_ddb,
4744
basic_transact_write_item_put_request_dict,
48-
basic_update_item_request_ddb,
49-
basic_update_item_request_dict,
45+
basic_update_item_request_ddb_signed_attribute,
46+
basic_update_item_request_dict_signed_attribute,
47+
basic_update_item_request_ddb_unsigned_attribute,
48+
basic_update_item_request_dict_unsigned_attribute,
5049
exhaustive_get_item_request_ddb,
5150
exhaustive_get_item_request_dict,
5251
exhaustive_put_item_request_ddb,
@@ -64,6 +63,7 @@
6463
basic_put_item_response,
6564
basic_query_response,
6665
basic_scan_response,
66+
basic_update_item_response,
6767
basic_transact_get_items_response,
6868
basic_transact_write_items_response,
6969
exhaustive_batch_get_item_response,
@@ -808,12 +808,18 @@ def test_GIVEN_test_transact_get_items_response_WHEN_resource_to_client_THEN_ret
808808

809809
@pytest.fixture
810810
def test_update_item_request_ddb():
811-
return basic_update_item_request_ddb
811+
# Select unsigned attribute without loss of generality;
812+
# resource/client logic doesn't care about signed attributes
813+
# TODO: Add exhaustive request
814+
return basic_update_item_request_ddb_unsigned_attribute
812815

813816

814817
@pytest.fixture
815818
def test_update_item_request_dict():
816-
return basic_update_item_request_dict
819+
# Select unsigned attribute without loss of generality;
820+
# resource/client logic doesn't care about signed attributes
821+
# TODO: Add exhaustive request
822+
return basic_update_item_request_dict_unsigned_attribute
817823

818824

819825
def test_GIVEN_test_update_item_request_WHEN_resource_to_client_THEN_returns_ddb_value(
@@ -843,35 +849,42 @@ def test_GIVEN_update_item_request_without_table_name_WHEN_resource_to_client_TH
843849
# When: Converting to resource format
844850
resource_to_client_converter_without_table_name.update_item_request(test_update_item_request_dict)
845851

852+
@pytest.fixture
853+
def test_update_item_response():
854+
# TODO: Add exhaustive response
855+
return basic_update_item_response
856+
846857

847-
def test_GIVEN_update_item_response_WHEN_resource_to_client_THEN_raises_NotImplementedError():
858+
def test_GIVEN_update_item_response_WHEN_resource_to_client_THEN_returns_dict_value(
859+
test_update_item_response, test_ddb_item, test_dict_item
860+
):
848861
# Given: Update item response
849-
response = {"Some": "Response"}
850-
# Then: Raises NotImplementedError
851-
with pytest.raises(NotImplementedError):
852-
# When: Converting to resource format
853-
resource_to_client_converter.update_item_response(response)
862+
response = test_update_item_response(test_dict_item)
863+
# When: Converting to resource format
864+
actual_ddb_response = resource_to_client_converter.update_item_response(response)
865+
# Then: Returns dict value
866+
expected_ddb_response = test_update_item_response(test_ddb_item)
854867

868+
actual_ddb_response = sort_dynamodb_json_lists(actual_ddb_response["Attributes"])
869+
expected_ddb_response = sort_dynamodb_json_lists(expected_ddb_response["Attributes"])
855870

856-
@pytest.fixture
857-
def test_execute_statement_request_ddb():
858-
return basic_execute_statement_request_ddb()
871+
assert actual_ddb_response == expected_ddb_response
859872

860873

861874
@pytest.fixture
862-
def test_execute_statement_request_dict():
863-
return basic_execute_statement_request_dict()
875+
def test_execute_statement_request():
876+
return basic_execute_statement_request
864877

865878

866879
def test_GIVEN_test_execute_statement_request_WHEN_resource_to_client_THEN_returns_ddb_value(
867-
test_execute_statement_request_ddb, test_execute_statement_request_dict, test_ddb_item, test_dict_item
880+
test_execute_statement_request, test_ddb_item, test_dict_item
868881
):
869882
# Given: Execute statement request
870-
request = test_execute_statement_request_dict
883+
request = test_execute_statement_request()
871884
# When: Converting to resource format
872885
actual_ddb_request = resource_to_client_converter.execute_statement_request(request)
873-
# Then: Returns dict value
874-
assert actual_ddb_request == test_execute_statement_request_ddb
886+
# Then: Returns dict value (here, request is not modified)
887+
assert actual_ddb_request == test_execute_statement_request()
875888

876889

877890
def test_GIVEN_execute_statement_response_WHEN_resource_to_client_THEN_raises_NotImplementedError():
@@ -884,24 +897,19 @@ def test_GIVEN_execute_statement_response_WHEN_resource_to_client_THEN_raises_No
884897

885898

886899
@pytest.fixture
887-
def test_execute_transaction_request_ddb():
888-
return basic_execute_transaction_request_ddb()
889-
890-
891-
@pytest.fixture
892-
def test_execute_transaction_request_dict():
893-
return basic_execute_transaction_request_dict()
900+
def test_execute_transaction_request():
901+
return basic_execute_transaction_request
894902

895903

896904
def test_GIVEN_test_execute_transaction_request_WHEN_resource_to_client_THEN_returns_ddb_value(
897-
test_execute_transaction_request_ddb, test_execute_transaction_request_dict, test_ddb_item, test_dict_item
905+
test_execute_transaction_request, test_ddb_item, test_dict_item
898906
):
899907
# Given: Execute transaction request
900-
request = test_execute_transaction_request_dict
908+
request = test_execute_transaction_request()
901909
# When: Converting to resource format
902910
actual_ddb_request = resource_to_client_converter.execute_transaction_request(request)
903-
# Then: Returns dict value
904-
assert actual_ddb_request == test_execute_transaction_request_ddb
911+
# Then: Returns dict value (here, request is not modified)
912+
assert actual_ddb_request == test_execute_transaction_request()
905913

906914

907915
def test_GIVEN_execute_transaction_response_WHEN_resource_to_client_THEN_raises_NotImplementedError():
@@ -914,24 +922,19 @@ def test_GIVEN_execute_transaction_response_WHEN_resource_to_client_THEN_raises_
914922

915923

916924
@pytest.fixture
917-
def test_batch_execute_statement_request_ddb():
918-
return basic_batch_execute_statement_request_ddb()
919-
920-
921-
@pytest.fixture
922-
def test_batch_execute_statement_request_dict():
923-
return basic_batch_execute_statement_request_dict()
925+
def test_batch_execute_statement_request():
926+
return basic_batch_execute_statement_request
924927

925928

926929
def test_GIVEN_test_batch_execute_statement_request_WHEN_resource_to_client_THEN_returns_ddb_value(
927-
test_batch_execute_statement_request_ddb, test_batch_execute_statement_request_dict, test_ddb_item, test_dict_item
930+
test_batch_execute_statement_request, test_ddb_item, test_dict_item
928931
):
929932
# Given: Batch execute statement request
930-
request = test_batch_execute_statement_request_dict
933+
request = test_batch_execute_statement_request()
931934
# When: Converting to resource format
932935
actual_ddb_request = resource_to_client_converter.batch_execute_statement_request(request)
933-
# Then: Returns dict value
934-
assert actual_ddb_request == test_batch_execute_statement_request_ddb
936+
# Then: Returns dict value (here, request is not modified)
937+
assert actual_ddb_request == test_batch_execute_statement_request()
935938

936939

937940
def test_GIVEN_batch_execute_statement_response_WHEN_resource_to_client_THEN_raises_NotImplementedError():

0 commit comments

Comments
 (0)