15
15
simple_key_dict ,
16
16
)
17
17
from ...requests import (
18
- basic_batch_execute_statement_request_ddb ,
19
- basic_batch_execute_statement_request_dict ,
18
+ basic_batch_execute_statement_request ,
20
19
basic_batch_get_item_request_ddb ,
21
20
basic_batch_get_item_request_dict ,
22
21
basic_batch_write_item_delete_request_ddb ,
25
24
basic_batch_write_item_put_request_dict ,
26
25
basic_delete_item_request_ddb ,
27
26
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 ,
32
29
basic_get_item_request_ddb ,
33
30
basic_get_item_request_dict ,
34
31
basic_put_item_request_ddb ,
45
42
basic_transact_write_item_delete_request_dict ,
46
43
basic_transact_write_item_put_request_ddb ,
47
44
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 ,
50
49
exhaustive_get_item_request_ddb ,
51
50
exhaustive_get_item_request_dict ,
52
51
exhaustive_put_item_request_ddb ,
64
63
basic_put_item_response ,
65
64
basic_query_response ,
66
65
basic_scan_response ,
66
+ basic_update_item_response ,
67
67
basic_transact_get_items_response ,
68
68
basic_transact_write_items_response ,
69
69
exhaustive_batch_get_item_response ,
@@ -808,12 +808,18 @@ def test_GIVEN_test_transact_get_items_response_WHEN_resource_to_client_THEN_ret
808
808
809
809
@pytest .fixture
810
810
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
812
815
813
816
814
817
@pytest .fixture
815
818
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
817
823
818
824
819
825
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
843
849
# When: Converting to resource format
844
850
resource_to_client_converter_without_table_name .update_item_request (test_update_item_request_dict )
845
851
852
+ @pytest .fixture
853
+ def test_update_item_response ():
854
+ # TODO: Add exhaustive response
855
+ return basic_update_item_response
856
+
846
857
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
+ ):
848
861
# 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 )
854
867
868
+ actual_ddb_response = sort_dynamodb_json_lists (actual_ddb_response ["Attributes" ])
869
+ expected_ddb_response = sort_dynamodb_json_lists (expected_ddb_response ["Attributes" ])
855
870
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
859
872
860
873
861
874
@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
864
877
865
878
866
879
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
868
881
):
869
882
# Given: Execute statement request
870
- request = test_execute_statement_request_dict
883
+ request = test_execute_statement_request ()
871
884
# When: Converting to resource format
872
885
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 ()
875
888
876
889
877
890
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
884
897
885
898
886
899
@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
894
902
895
903
896
904
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
898
906
):
899
907
# Given: Execute transaction request
900
- request = test_execute_transaction_request_dict
908
+ request = test_execute_transaction_request ()
901
909
# When: Converting to resource format
902
910
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 ()
905
913
906
914
907
915
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_
914
922
915
923
916
924
@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
924
927
925
928
926
929
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
928
931
):
929
932
# Given: Batch execute statement request
930
- request = test_batch_execute_statement_request_dict
933
+ request = test_batch_execute_statement_request ()
931
934
# When: Converting to resource format
932
935
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 ()
935
938
936
939
937
940
def test_GIVEN_batch_execute_statement_response_WHEN_resource_to_client_THEN_raises_NotImplementedError ():
0 commit comments