test_file.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from core.file import FILE_MODEL_IDENTITY, File, FileTransferMethod, FileType
  2. def test_file_loads_and_dumps():
  3. file = File(
  4. id="file1",
  5. tenant_id="tenant1",
  6. type=FileType.IMAGE,
  7. transfer_method=FileTransferMethod.REMOTE_URL,
  8. remote_url="https://example.com/image1.jpg",
  9. )
  10. file_dict = file.model_dump()
  11. assert file_dict["dify_model_identity"] == FILE_MODEL_IDENTITY
  12. assert file_dict["type"] == file.type.value
  13. assert isinstance(file_dict["type"], str)
  14. assert file_dict["transfer_method"] == file.transfer_method.value
  15. assert isinstance(file_dict["transfer_method"], str)
  16. assert "_extra_config" not in file_dict
  17. file_obj = File.model_validate(file_dict)
  18. assert file_obj.id == file.id
  19. assert file_obj.tenant_id == file.tenant_id
  20. assert file_obj.type == file.type
  21. assert file_obj.transfer_method == file.transfer_method
  22. assert file_obj.remote_url == file.remote_url
  23. def test_file_to_dict():
  24. file = File(
  25. id="file1",
  26. tenant_id="tenant1",
  27. type=FileType.IMAGE,
  28. transfer_method=FileTransferMethod.REMOTE_URL,
  29. remote_url="https://example.com/image1.jpg",
  30. )
  31. file_dict = file.to_dict()
  32. assert "_extra_config" not in file_dict
  33. assert "url" in file_dict