Skip to content

Commit fe53c28

Browse files
committed
ensure tab ingest is passed
1 parent 1cd271f commit fe53c28

2 files changed

Lines changed: 43 additions & 7 deletions

File tree

dvuploader/nativeupload.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -301,13 +301,14 @@ def _get_json_data(file: File) -> Dict:
301301
Returns:
302302
Dict: Dictionary containing file metadata for the upload request.
303303
"""
304-
return {
305-
"description": file.description,
306-
"directoryLabel": file.directory_label,
307-
"categories": file.categories,
308-
"restrict": file.restrict,
309-
"forceReplace": True,
310-
}
304+
exclude = (
305+
{"to_replace", "file_id"} if file.to_replace else {"to_replace", "file_id"}
306+
)
307+
return file.model_dump(
308+
by_alias=True,
309+
exclude=exclude,
310+
exclude_none=True,
311+
)
311312

312313

313314
async def _update_metadata(

tests/unit/test_native_upload.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from dvuploader.file import File
2+
from dvuploader.nativeupload import _get_json_data
3+
4+
5+
class TestNativeUpload:
6+
def test_get_json_data_with_tab_ingest(self):
7+
file = File(
8+
filepath="tests/fixtures/add_dir_files/somefile.txt",
9+
tabIngest=True,
10+
)
11+
json_data = _get_json_data(file)
12+
assert json_data == {
13+
"categories": [],
14+
"description": "",
15+
"directoryLabel": "",
16+
"mimeType": "application/octet-stream",
17+
"restrict": False,
18+
"tabIngest": True,
19+
}
20+
21+
def test_get_json_data_without_tab_ingest(self):
22+
file = File(
23+
filepath="tests/fixtures/add_dir_files/somefile.txt",
24+
tabIngest=False,
25+
)
26+
27+
json_data = _get_json_data(file)
28+
assert json_data == {
29+
"categories": [],
30+
"description": "",
31+
"directoryLabel": "",
32+
"mimeType": "application/octet-stream",
33+
"restrict": False,
34+
"tabIngest": False,
35+
}

0 commit comments

Comments
 (0)