Skip to content

Commit 90eb585

Browse files
author
Lingling Peng
committed
get a default to csv_descriptor
1 parent 5054112 commit 90eb585

1 file changed

Lines changed: 45 additions & 8 deletions

File tree

tests/unit/synapseclient/models/async/unit_test_curation_async.py

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)