test_sync_workflow.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """
  2. This test file is used to verify the compatibility of Workflow before and after supporting multiple file types.
  3. """
  4. import json
  5. from models import Workflow
  6. OLD_VERSION_WORKFLOW_FEATURES = {
  7. "file_upload": {
  8. "image": {
  9. "enabled": True,
  10. "number_limits": 6,
  11. "transfer_methods": ["remote_url", "local_file"],
  12. }
  13. },
  14. "opening_statement": "",
  15. "retriever_resource": {"enabled": True},
  16. "sensitive_word_avoidance": {"enabled": False},
  17. "speech_to_text": {"enabled": False},
  18. "suggested_questions": [],
  19. "suggested_questions_after_answer": {"enabled": False},
  20. "text_to_speech": {"enabled": False, "language": "", "voice": ""},
  21. }
  22. NEW_VERSION_WORKFLOW_FEATURES = {
  23. "file_upload": {
  24. "enabled": True,
  25. "allowed_file_types": ["image"],
  26. "allowed_file_extensions": [],
  27. "allowed_file_upload_methods": ["remote_url", "local_file"],
  28. "number_limits": 6,
  29. },
  30. "opening_statement": "",
  31. "retriever_resource": {"enabled": True},
  32. "sensitive_word_avoidance": {"enabled": False},
  33. "speech_to_text": {"enabled": False},
  34. "suggested_questions": [],
  35. "suggested_questions_after_answer": {"enabled": False},
  36. "text_to_speech": {"enabled": False, "language": "", "voice": ""},
  37. }
  38. def test_workflow_features():
  39. workflow = Workflow(
  40. tenant_id="",
  41. app_id="",
  42. type="",
  43. version="",
  44. graph="",
  45. features=json.dumps(OLD_VERSION_WORKFLOW_FEATURES),
  46. created_by="",
  47. environment_variables=[],
  48. conversation_variables=[],
  49. )
  50. assert workflow.features_dict == NEW_VERSION_WORKFLOW_FEATURES