Underground-Digital/Workflow-Engine
0
1from core.file import FILE_MODEL_IDENTITY, File, FileTransferMethod, FileType2 3 4def test_file_loads_and_dumps():5 file = File(6 id="file1",7 tenant_id="tenant1",8 type=FileType.IMAGE,9 transfer_method=FileTransferMethod.REMOTE_URL,10 remote_url="https://example.com/image1.jpg",11 )12 13 file_dict = file.model_dump()14 assert file_dict["dify_model_identity"] == FILE_MODEL_IDENTITY15 assert file_dict["type"] == file.type.value16 assert isinstance(file_dict["type"], str)17 assert file_dict["transfer_method"] == file.transfer_method.value18 assert isinstance(file_dict["transfer_method"], str)19 assert "_extra_config" not in file_dict20 21 file_obj = File.model_validate(file_dict)22 assert file_obj.id == file.id23 assert file_obj.tenant_id == file.tenant_id24 assert file_obj.type == file.type25 assert file_obj.transfer_method == file.transfer_method26 assert file_obj.remote_url == file.remote_url27 28 29def test_file_to_dict():30 file = File(31 id="file1",32 tenant_id="tenant1",33 type=FileType.IMAGE,34 transfer_method=FileTransferMethod.REMOTE_URL,35 remote_url="https://example.com/image1.jpg",36 )37 38 file_dict = file.to_dict()39 assert "_extra_config" not in file_dict40 assert "url" in file_dict41 