@@ -840,7 +840,7 @@ async def test_import_csv_async(self) -> None:
840840 grid = Grid (session_id = SESSION_ID )
841841
842842 csv_table_descriptor = CsvTableDescriptor (
843- separator = ", " ,
843+ separator = "; " ,
844844 quote_character = '"' ,
845845 escape_character = "\\ " ,
846846 line_end = os .linesep ,
@@ -907,6 +907,7 @@ async def test_import_csv_async(self) -> None:
907907 session_id = SESSION_ID ,
908908 file_handle_id = FILE_HANDLE_ID ,
909909 schema = expected_columns ,
910+ csv_descriptor = csv_table_descriptor ,
910911 )
911912
912913 # AND the log message contains the import counts
@@ -985,7 +986,7 @@ def test_fill_from_dict(self) -> None:
985986 }
986987
987988 # WHEN I fill an UploadToTablePreviewRequest from the response
988- preview_req = UploadToTablePreviewRequest ()
989+ preview_req = UploadToTablePreviewRequest (upload_file_handle_id = FILE_HANDLE_ID )
989990 preview_response = preview_req .fill_from_dict (raw_synapse_response )
990991
991992 # THEN the fields should be populated correctly
@@ -1010,7 +1011,21 @@ def test_fill_from_dict(self) -> None:
10101011 ]
10111012 assert preview_response .rows_scanned == 1
10121013
1013- def test_to_synapse_request (self ) -> None :
1014+ def test_to_synapse_request_with_minimal_fields (self ) -> None :
1015+ # GIVEN an UploadToTablePreviewRequest with only required fields set
1016+ preview_req = UploadToTablePreviewRequest (
1017+ upload_file_handle_id = FILE_HANDLE_ID ,
1018+ )
1019+
1020+ # WHEN I convert it to a synapse request
1021+ result = preview_req .to_synapse_request ()
1022+
1023+ # THEN it should contain the correct fields and defaults
1024+ assert result ["concreteType" ] == UPLOAD_TO_TABLE_PREVIEW_REQUEST
1025+ assert result ["uploadFileHandleId" ] == FILE_HANDLE_ID
1026+ assert result ["csvTableDescriptor" ] == CsvTableDescriptor ().to_synapse_request ()
1027+
1028+ def test_to_synapse_request_with_all_fields (self ) -> None :
10141029 # GIVEN an UploadToTablePreviewRequest
10151030 preview_req = UploadToTablePreviewRequest (
10161031 upload_file_handle_id = FILE_HANDLE_ID ,
@@ -1068,16 +1083,38 @@ def test_fill_from_dict(self) -> None:
10681083 assert result .created_count == 1
10691084 assert result .updated_count == 2
10701085
1071- def test_to_synapse_request (self ) -> None :
1086+ def test_to_synapse_request_with_minimal_fields (self ) -> None :
1087+ # GIVEN a GridCsvImportRequest with only required fields set
1088+ import_req = GridCsvImportRequest (
1089+ session_id = SESSION_ID ,
1090+ file_handle_id = FILE_HANDLE_ID ,
1091+ schema = [Column (name = "col1" , column_type = "STRING" )],
1092+ )
1093+
1094+ # WHEN I convert it to a synapse request
1095+ result = import_req .to_synapse_request ()
1096+
1097+ # THEN it should contain the correct fields and defaults
1098+ assert result ["concreteType" ] == GRID_CSV_IMPORT_REQUEST
1099+ assert result ["sessionId" ] == SESSION_ID
1100+ assert result ["fileHandleId" ] == FILE_HANDLE_ID
1101+ assert result ["csvDescriptor" ] == CsvTableDescriptor ().to_synapse_request ()
1102+ assert len (result ["schema" ]) == 1
1103+ assert (
1104+ result ["schema" ][0 ]
1105+ == Column (name = "col1" , column_type = "STRING" ).to_synapse_request ()
1106+ )
1107+
1108+ def test_to_synapse_request_with_all_fields (self ) -> None :
10721109 # GIVEN a GridCsvImportRequest with all fields set
10731110 import_req = GridCsvImportRequest (
10741111 session_id = SESSION_ID ,
10751112 file_handle_id = FILE_HANDLE_ID ,
10761113 csv_descriptor = CsvTableDescriptor (
1077- separator = ", " ,
1114+ separator = "; " ,
10781115 quote_character = '"' ,
10791116 escape_character = "\\ " ,
1080- line_end = "\n " ,
1117+ line_end = "\t " ,
10811118 is_first_line_header = True ,
10821119 ),
10831120 schema = [
@@ -1095,10 +1132,10 @@ def test_to_synapse_request(self) -> None:
10951132 assert result ["concreteType" ] == GRID_CSV_IMPORT_REQUEST
10961133 assert result ["sessionId" ] == SESSION_ID
10971134 assert result ["fileHandleId" ] == FILE_HANDLE_ID
1098- assert result ["csvDescriptor" ]["separator" ] == ", "
1135+ assert result ["csvDescriptor" ]["separator" ] == "; "
10991136 assert result ["csvDescriptor" ]["quoteCharacter" ] == '"'
11001137 assert result ["csvDescriptor" ]["escapeCharacter" ] == "\\ "
1101- assert result ["csvDescriptor" ]["lineEnd" ] == "\n "
1138+ assert result ["csvDescriptor" ]["lineEnd" ] == "\t "
11021139 assert result ["csvDescriptor" ]["isFirstLineHeader" ] is True
11031140 assert len (result ["schema" ]) == 4
11041141 assert (
0 commit comments