codemie-test-harness 0.1.197__tar.gz → 0.1.198__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codemie-test-harness might be problematic. Click here for more details.

Files changed (397) hide show
  1. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/PKG-INFO +98 -2
  2. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/README.md +95 -0
  3. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/cli.py +22 -1
  4. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/run_cmd.py +9 -0
  5. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/constants.py +21 -0
  6. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/runner.py +5 -1
  7. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/pytest.ini +3 -0
  8. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conftest.py +17 -1
  9. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +41 -8
  10. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/test_llm.py +2 -13
  11. codemie_test_harness-0.1.198/codemie_test_harness/tests/test_data/assistant_test_data.py +839 -0
  12. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/pyproject.toml +6 -2
  13. codemie_test_harness-0.1.197/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -839
  14. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/.env +0 -0
  15. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/__init__.py +0 -0
  16. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/__init__.py +0 -0
  17. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/__init__.py +0 -0
  18. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
  19. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/config_cmd.py +1 -1
  20. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/marks_cmd.py +0 -0
  21. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
  22. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/marks_utils.py +0 -0
  23. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/utils.py +0 -0
  24. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/__init__.py +0 -0
  25. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/__init__.py +0 -0
  26. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
  27. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
  28. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
  29. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
  30. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
  31. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
  32. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
  33. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
  34. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  35. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  36. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
  37. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
  38. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
  39. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +0 -0
  40. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
  41. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
  42. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
  43. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
  44. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
  45. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
  46. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
  47. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
  48. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
  49. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
  50. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
  51. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
  52. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
  53. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
  54. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
  55. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
  56. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
  57. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
  58. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +0 -0
  59. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
  60. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
  61. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
  62. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
  63. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
  64. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +0 -0
  65. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
  66. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
  67. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
  68. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +0 -0
  69. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
  70. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
  71. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
  72. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
  73. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
  74. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
  75. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conversations/__init__.py +0 -0
  76. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
  77. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/e2e/__init__.py +0 -0
  78. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
  79. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/__init__.py +0 -0
  80. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/environment.py +0 -0
  81. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/integrations.py +0 -0
  82. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/model_types.py +0 -0
  83. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/tools.py +0 -0
  84. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/__init__.py +0 -0
  85. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
  86. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
  87. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
  88. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
  89. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
  90. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/__init__.py +0 -0
  91. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
  92. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
  93. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/providers/__init__.py +0 -0
  94. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
  95. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/__init__.py +0 -0
  96. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
  97. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
  98. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
  99. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
  100. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/__init__.py +0 -0
  101. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
  102. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
  103. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
  104. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
  105. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_task_service.py +0 -0
  106. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_user_service.py +0 -0
  107. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
  108. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
  109. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/__init__.py +0 -0
  110. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
  111. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py +0 -0
  112. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py +0 -0
  113. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/cloud_tools_test_data.py +0 -0
  114. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/codebase_tools_test_data.py +0 -0
  115. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/data_management_tools_test_data.py +0 -0
  116. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
  117. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
  118. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
  119. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
  120. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
  121. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
  122. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
  123. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
  124. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
  125. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +0 -0
  126. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
  127. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
  128. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
  129. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/report_portal_tools_test_data.py +0 -0
  130. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
  131. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
  132. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
  133. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/file_management_tools_test_data.py +0 -0
  134. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
  135. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/large-files/large_file.txt +0 -0
  136. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
  137. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
  138. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
  139. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
  140. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
  141. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
  142. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
  143. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.json +0 -0
  144. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
  145. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.png +0 -0
  146. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
  147. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
  148. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
  149. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
  150. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
  151. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
  152. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
  153. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
  154. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/git_tools_test_data.py +0 -0
  155. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/google_datasource_test_data.py +0 -0
  156. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
  157. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
  158. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +0 -0
  159. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
  160. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/mcp_server_test_data.py +0 -0
  161. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/notification_tools_test_data.py +0 -0
  162. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/open_api_tools_test_data.py +0 -0
  163. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/openapi.json +0 -0
  164. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/output_schema_test_data.py +0 -0
  165. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/plugin_tools_test_data.py +0 -0
  166. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/pm_tools_test_data.py +0 -0
  167. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/project_management_test_data.py +0 -0
  168. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/report_portal_tools_test_data.py +0 -0
  169. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/research_tools_test_data.py +0 -0
  170. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/servicenow_tools_test_data.py +0 -0
  171. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/vcs_tools_test_data.py +0 -0
  172. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
  173. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
  174. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
  175. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
  176. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
  177. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
  178. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
  179. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
  180. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
  181. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
  182. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
  183. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
  184. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
  185. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
  186. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
  187. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
  188. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
  189. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
  190. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
  191. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
  192. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
  193. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_state_id.yaml +0 -0
  194. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
  195. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
  196. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
  197. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
  198. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
  199. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
  200. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
  201. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
  202. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
  203. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/__init__.py +0 -0
  204. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
  205. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +0 -0
  206. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/conftest.py +0 -0
  207. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/test_chat_configuration.py +0 -0
  208. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/test_chat_functionality.py +0 -0
  209. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/conftest.py +0 -0
  210. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
  211. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +0 -0
  212. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +0 -0
  213. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +0 -0
  214. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +0 -0
  215. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
  216. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +0 -0
  217. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
  218. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
  219. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
  220. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/create_assistant_page.py +0 -0
  221. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/generate_with_ai_modal.py +0 -0
  222. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
  223. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/chat_page.py +0 -0
  224. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/chats_sidebar.py +0 -0
  225. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/configuration_panel.py +0 -0
  226. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/configure_and_test_panel.py +0 -0
  227. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
  228. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/execution_history_row.py +0 -0
  229. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
  230. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
  231. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
  232. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
  233. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
  234. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
  235. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
  236. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
  237. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_state_card.py +0 -0
  238. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
  239. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/create_edit_datasource_page.py +0 -0
  240. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
  241. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
  242. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/view_datasource_page.py +0 -0
  243. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/integrations/create_integration_page.py +0 -0
  244. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
  245. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
  246. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
  247. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
  248. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
  249. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
  250. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
  251. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
  252. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
  253. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
  254. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
  255. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/__init__.py +0 -0
  256. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/assistant_test_data.py +0 -0
  257. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/chat_test_data.py +0 -0
  258. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/datasource_test_data.py +0 -0
  259. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/integration_test_data.py +0 -0
  260. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
  261. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +0 -0
  262. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +0 -0
  263. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +0 -0
  264. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +0 -0
  265. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +0 -0
  266. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflows.py +0 -0
  267. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/__init__.py +0 -0
  268. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/assistant_utils.py +0 -0
  269. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
  270. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/base_utils.py +0 -0
  271. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/client_factory.py +0 -0
  272. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/constants.py +0 -0
  273. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
  274. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
  275. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
  276. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
  277. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/env_utils.py +0 -0
  278. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/file_utils.py +0 -0
  279. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
  280. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/http_utils.py +0 -0
  281. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
  282. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/json_utils.py +0 -0
  283. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
  284. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/logger_util.py +0 -0
  285. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
  286. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
  287. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
  288. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/search_utils.py +0 -0
  289. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
  290. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/user_utils.py +0 -0
  291. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
  292. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
  293. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/__init__.py +0 -0
  294. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
  295. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py +0 -0
  296. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +0 -0
  297. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
  298. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
  299. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
  300. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
  301. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
  302. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
  303. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
  304. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
  305. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/data_management/__init__.py +0 -0
  306. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
  307. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/__init__.py +0 -0
  308. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  309. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  310. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  311. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
  312. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
  313. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
  314. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
  315. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
  316. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
  317. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
  318. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +0 -0
  319. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
  320. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
  321. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
  322. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
  323. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
  324. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/project_management/__init__.py +0 -0
  325. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
  326. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/__init__.py +0 -0
  327. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +0 -0
  328. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
  329. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
  330. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
  331. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  332. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
  333. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
  334. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
  335. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +0 -0
  336. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
  337. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/__init__.py +0 -0
  338. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +0 -0
  339. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  340. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +0 -0
  341. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
  342. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
  343. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
  344. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
  345. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
  346. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +0 -0
  347. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +0 -0
  348. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
  349. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +0 -0
  350. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
  351. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
  352. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +0 -0
  353. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +0 -0
  354. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +0 -0
  355. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
  356. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
  357. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
  358. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
  359. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py +0 -0
  360. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +0 -0
  361. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/__init__.py +0 -0
  362. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
  363. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
  364. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
  365. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/__init__.py +0 -0
  366. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
  367. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
  368. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
  369. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
  370. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
  371. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/__init__.py +0 -0
  372. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  373. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  374. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  375. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
  376. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
  377. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/__init__.py +0 -0
  378. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
  379. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/__init__.py +0 -0
  380. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
  381. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
  382. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +0 -0
  383. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
  384. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
  385. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/__init__.py +0 -0
  386. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
  387. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
  388. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
  389. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
  390. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/__init__.py +0 -0
  391. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +0 -0
  392. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/__init__.py +0 -0
  393. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
  394. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.py +0 -0
  395. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  396. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
  397. {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: codemie-test-harness
3
- Version: 0.1.197
3
+ Version: 0.1.198
4
4
  Summary: Autotest for CodeMie backend and UI
5
5
  Author: Anton Yeromin
6
6
  Author-email: anton_yeromin@epam.com
@@ -13,12 +13,13 @@ Requires-Dist: aws-assume-role-lib (>=2.10.0,<3.0.0)
13
13
  Requires-Dist: boto3 (>=1.39.8,<2.0.0)
14
14
  Requires-Dist: click (>=8.1.7,<9.0.0)
15
15
  Requires-Dist: codemie-plugins (>=0.1.123,<0.2.0)
16
- Requires-Dist: codemie-sdk-python (==0.1.197)
16
+ Requires-Dist: codemie-sdk-python (==0.1.198)
17
17
  Requires-Dist: pytest (>=8.4.1,<9.0.0)
18
18
  Requires-Dist: pytest-playwright (>=0.7.0,<0.8.0)
19
19
  Requires-Dist: pytest-repeat (>=0.9.3,<0.10.0)
20
20
  Requires-Dist: pytest-reportportal (>=5.5.2,<6.0.0)
21
21
  Requires-Dist: pytest-rerunfailures (>=15.1,<16.0)
22
+ Requires-Dist: pytest-timeout (>=2.4.0,<3.0.0)
22
23
  Requires-Dist: pytest-xdist (>=3.6.1,<4.0.0)
23
24
  Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
24
25
  Requires-Dist: python-gitlab (>=5.6.0,<6.0.0)
@@ -319,6 +320,56 @@ codemie-test-harness run --marks excel_generation --count 100 -n 20 # Overrides
319
320
 
320
321
  **Note:** The `--count` parameter requires the `pytest-repeat` plugin, which is included in the dependencies.
321
322
 
323
+ #### Test Timeout Control
324
+
325
+ Control per-test timeout to prevent tests from running indefinitely. Tests exceeding the timeout will be **automatically terminated and marked as FAILED**.
326
+
327
+ **Configuration Priority**: CLI args → Environment variable → Config file → Default (300 seconds)
328
+
329
+ **Usage Examples:**
330
+
331
+ ```shell
332
+ # Via CLI argument (600 seconds = 10 minutes)
333
+ codemie-test-harness run --timeout 600 --marks smoke
334
+
335
+ # Via config file (persistent)
336
+ codemie-test-harness config set TEST_TIMEOUT 900
337
+ codemie-test-harness run --marks api
338
+
339
+ # Via environment variable
340
+ export TEST_TIMEOUT=300
341
+ codemie-test-harness run --marks smoke
342
+
343
+ # Disable timeout for debugging (use 0)
344
+ codemie-test-harness run --timeout 0 --marks smoke
345
+
346
+ # Override config default for specific run
347
+ codemie-test-harness config set TEST_TIMEOUT 600
348
+ codemie-test-harness run --timeout 1200 --marks slow # Uses 1200, not 600
349
+ ```
350
+
351
+ **Default**: 300 seconds (5 minutes) per test
352
+
353
+ **What Happens on Timeout?**
354
+
355
+ When a test exceeds the configured timeout:
356
+ 1. ✅ **Test is automatically terminated** - Execution stops immediately
357
+ 2. ✅ **Marked as FAILED** - Test result shows as failed with clear timeout message
358
+ 3. ✅ **Error details displayed** - Shows which test timed out and the configured limit
359
+ 4. ✅ **Remaining tests continue** - Other tests proceed normally
360
+ 5. ✅ **Stack trace captured** - Shows where the test was when timeout occurred
361
+
362
+ **Example timeout error output:**
363
+ ```
364
+ FAILED tests/test_slow_operation.py::test_data_processing - Failed: Timeout >300.0s
365
+ ```
366
+
367
+ **Notes:**
368
+ - Timeout applies to **individual test functions**, not the entire test run
369
+ - Useful for preventing hanging tests in CI/CD pipelines
370
+ - Consider increasing timeout for legitimate long-running operations (data processing, large file operations)
371
+ - Timeout of 0 disables the timeout (use for debugging only)
372
+
322
373
  #### Assistant Chat Interface
323
374
 
324
375
  Interact directly with CodeMie assistants through the CLI:
@@ -547,6 +598,51 @@ pytest -n 20 --count 100 -m smoke --reruns 2 # Heavy load with retries
547
598
  - `--reruns 2` uses pytest-rerunfailures to improve resiliency in flaky environments
548
599
  - `--count N` uses pytest-repeat to run each test N times (useful for performance/load testing)
549
600
 
601
+ #### Test Timeout Configuration
602
+
603
+ Tests have a configurable timeout to prevent hanging. Default is **300 seconds (5 minutes)** per test.
604
+
605
+ **Configure in .env file:**
606
+ ```properties
607
+ TEST_TIMEOUT=600 # 10 minutes
608
+ ```
609
+
610
+ **Override via pytest CLI:**
611
+ ```shell
612
+ # Set timeout for this run
613
+ pytest -n 10 -m smoke --timeout 900 # 15 minutes
614
+
615
+ # Disable timeout (debugging)
616
+ pytest -m slow_tests --timeout 0
617
+
618
+ # Use default from .env or pytest.ini
619
+ pytest -n 10 -m api # Uses TEST_TIMEOUT from .env or 300s default
620
+ ```
621
+
622
+ **Timeout Behavior:**
623
+
624
+ When a test exceeds the configured timeout:
625
+ - Test execution is **terminated immediately**
626
+ - Test is marked as **FAILED** with a timeout error message
627
+ - Stack trace shows where the test was when timeout occurred
628
+ - Remaining tests continue execution normally
629
+
630
+ **Example timeout failure:**
631
+ ```
632
+ ================================== FAILURES ===================================
633
+ _________________ test_slow_workflow_execution ________________
634
+
635
+ E Failed: Timeout >300.0s
636
+
637
+ tests/workflow/test_workflows.py:145: Failed
638
+ ```
639
+
640
+ **Best Practices:**
641
+ - Keep default timeout reasonable (5-10 minutes for E2E tests)
642
+ - Increase timeout for specific slow tests using `@pytest.mark.timeout(900)`
643
+ - Use timeout=0 only for debugging hanging tests
644
+ - Consider if a test legitimately needs > 5 minutes (optimize if possible)
645
+
550
646
  ### UI tests (Playwright)
551
647
 
552
648
  Install browsers once:
@@ -291,6 +291,56 @@ codemie-test-harness run --marks excel_generation --count 100 -n 20 # Overrides
291
291
 
292
292
  **Note:** The `--count` parameter requires the `pytest-repeat` plugin, which is included in the dependencies.
293
293
 
294
+ #### Test Timeout Control
295
+
296
+ Control per-test timeout to prevent tests from running indefinitely. Tests exceeding the timeout will be **automatically terminated and marked as FAILED**.
297
+
298
+ **Configuration Priority**: CLI args → Environment variable → Config file → Default (300 seconds)
299
+
300
+ **Usage Examples:**
301
+
302
+ ```shell
303
+ # Via CLI argument (600 seconds = 10 minutes)
304
+ codemie-test-harness run --timeout 600 --marks smoke
305
+
306
+ # Via config file (persistent)
307
+ codemie-test-harness config set TEST_TIMEOUT 900
308
+ codemie-test-harness run --marks api
309
+
310
+ # Via environment variable
311
+ export TEST_TIMEOUT=300
312
+ codemie-test-harness run --marks smoke
313
+
314
+ # Disable timeout for debugging (use 0)
315
+ codemie-test-harness run --timeout 0 --marks smoke
316
+
317
+ # Override config default for specific run
318
+ codemie-test-harness config set TEST_TIMEOUT 600
319
+ codemie-test-harness run --timeout 1200 --marks slow # Uses 1200, not 600
320
+ ```
321
+
322
+ **Default**: 300 seconds (5 minutes) per test
323
+
324
+ **What Happens on Timeout?**
325
+
326
+ When a test exceeds the configured timeout:
327
+ 1. ✅ **Test is automatically terminated** - Execution stops immediately
328
+ 2. ✅ **Marked as FAILED** - Test result shows as failed with clear timeout message
329
+ 3. ✅ **Error details displayed** - Shows which test timed out and the configured limit
330
+ 4. ✅ **Remaining tests continue** - Other tests proceed normally
331
+ 5. ✅ **Stack trace captured** - Shows where the test was when timeout occurred
332
+
333
+ **Example timeout error output:**
334
+ ```
335
+ FAILED tests/test_slow_operation.py::test_data_processing - Failed: Timeout >300.0s
336
+ ```
337
+
338
+ **Notes:**
339
+ - Timeout applies to **individual test functions**, not the entire test run
340
+ - Useful for preventing hanging tests in CI/CD pipelines
341
+ - Consider increasing timeout for legitimate long-running operations (data processing, large file operations)
342
+ - Timeout of 0 disables the timeout (use for debugging only)
343
+
294
344
  #### Assistant Chat Interface
295
345
 
296
346
  Interact directly with CodeMie assistants through the CLI:
@@ -519,6 +569,51 @@ pytest -n 20 --count 100 -m smoke --reruns 2 # Heavy load with retries
519
569
  - `--reruns 2` uses pytest-rerunfailures to improve resiliency in flaky environments
520
570
  - `--count N` uses pytest-repeat to run each test N times (useful for performance/load testing)
521
571
 
572
+ #### Test Timeout Configuration
573
+
574
+ Tests have a configurable timeout to prevent hanging. Default is **300 seconds (5 minutes)** per test.
575
+
576
+ **Configure in .env file:**
577
+ ```properties
578
+ TEST_TIMEOUT=600 # 10 minutes
579
+ ```
580
+
581
+ **Override via pytest CLI:**
582
+ ```shell
583
+ # Set timeout for this run
584
+ pytest -n 10 -m smoke --timeout 900 # 15 minutes
585
+
586
+ # Disable timeout (debugging)
587
+ pytest -m slow_tests --timeout 0
588
+
589
+ # Use default from .env or pytest.ini
590
+ pytest -n 10 -m api # Uses TEST_TIMEOUT from .env or 300s default
591
+ ```
592
+
593
+ **Timeout Behavior:**
594
+
595
+ When a test exceeds the configured timeout:
596
+ - Test execution is **terminated immediately**
597
+ - Test is marked as **FAILED** with a timeout error message
598
+ - Stack trace shows where the test was when timeout occurred
599
+ - Remaining tests continue execution normally
600
+
601
+ **Example timeout failure:**
602
+ ```
603
+ ================================== FAILURES ===================================
604
+ _________________ test_slow_workflow_execution ________________
605
+
606
+ E Failed: Timeout >300.0s
607
+
608
+ tests/workflow/test_workflows.py:145: Failed
609
+ ```
610
+
611
+ **Best Practices:**
612
+ - Keep default timeout reasonable (5-10 minutes for E2E tests)
613
+ - Increase timeout for specific slow tests using `@pytest.mark.timeout(900)`
614
+ - Use timeout=0 only for debugging hanging tests
615
+ - Consider if a test legitimately needs > 5 minutes (optimize if possible)
616
+
522
617
  ### UI tests (Playwright)
523
618
 
524
619
  Install browsers once:
@@ -16,6 +16,7 @@ from .constants import (
16
16
  KEY_XDIST_N,
17
17
  KEY_RERUNS,
18
18
  KEY_COUNT,
19
+ KEY_TIMEOUT,
19
20
  KEY_AUTH_SERVER_URL,
20
21
  KEY_AUTH_CLIENT_ID,
21
22
  KEY_AUTH_CLIENT_SECRET,
@@ -26,6 +27,7 @@ from .constants import (
26
27
  DEFAULT_MARKS,
27
28
  DEFAULT_XDIST_N,
28
29
  DEFAULT_RERUNS,
30
+ DEFAULT_TIMEOUT,
29
31
  )
30
32
  from .utils import get_config_value, ensure_env_from_config
31
33
  from .runner import run_pytest
@@ -54,6 +56,12 @@ from .commands.marks_cmd import marks_cmd
54
56
  type=int,
55
57
  help="Number of times to repeat each test (requires pytest-repeat)",
56
58
  )
59
+ @click.option(
60
+ "--timeout",
61
+ envvar=KEY_TIMEOUT,
62
+ type=int,
63
+ help="Per-test timeout in seconds (default: 300)",
64
+ )
57
65
  @click.option("--auth-server-url", envvar=KEY_AUTH_SERVER_URL, help="Auth server url")
58
66
  @click.option("--auth-client-id", envvar=KEY_AUTH_CLIENT_ID, help="Auth client id")
59
67
  @click.option(
@@ -73,6 +81,7 @@ def cli(
73
81
  workers: Optional[int],
74
82
  reruns: Optional[int],
75
83
  count: Optional[int],
84
+ timeout: Optional[int],
76
85
  auth_server_url: Optional[str],
77
86
  auth_client_id: Optional[str],
78
87
  auth_client_secret: Optional[str],
@@ -109,6 +118,11 @@ def cli(
109
118
  if count is not None
110
119
  else (int(get_config_value(KEY_COUNT)) if get_config_value(KEY_COUNT) else None)
111
120
  )
121
+ resolved_timeout = (
122
+ timeout
123
+ if timeout is not None
124
+ else int(get_config_value(KEY_TIMEOUT, str(DEFAULT_TIMEOUT)))
125
+ )
112
126
 
113
127
  # Ensure env vars. CLI args override env/config.
114
128
  provided = {
@@ -133,12 +147,19 @@ def cli(
133
147
  workers=resolved_workers,
134
148
  reruns=resolved_reruns,
135
149
  count=resolved_count,
150
+ timeout=resolved_timeout,
136
151
  )
137
152
  )
138
153
 
139
154
  # default behavior
140
155
  if ctx.invoked_subcommand is None and not ctx.resilient_parsing:
141
- run_pytest(resolved_workers, resolved_marks, resolved_reruns, resolved_count)
156
+ run_pytest(
157
+ resolved_workers,
158
+ resolved_marks,
159
+ resolved_reruns,
160
+ resolved_count,
161
+ resolved_timeout,
162
+ )
142
163
 
143
164
 
144
165
  # Register subcommands
@@ -15,6 +15,11 @@ from ..runner import run_pytest
15
15
  type=int,
16
16
  help="Number of times to repeat each test (requires pytest-repeat)",
17
17
  )
18
+ @click.option(
19
+ "--timeout",
20
+ type=int,
21
+ help="Per-test timeout in seconds (overrides config/default)",
22
+ )
18
23
  @click.argument("extra", nargs=-1)
19
24
  @click.pass_context
20
25
  def run_cmd(
@@ -23,22 +28,26 @@ def run_cmd(
23
28
  workers: Optional[int],
24
29
  reruns: Optional[int],
25
30
  count: Optional[int],
31
+ timeout: Optional[int],
26
32
  extra: Tuple[str, ...],
27
33
  ):
28
34
  """Run pytest with configured options.
29
35
 
30
36
  Example: codemie-test-harness run --marks "smoke and not ui" -n 8 --reruns 2 -k keyword
31
37
  Example with repeat: codemie-test-harness run --marks excel_generation --count 50 -n 10
38
+ Example with timeout: codemie-test-harness run --marks slow --timeout 600 -n 4
32
39
  """
33
40
  resolved_marks = marks or ctx.obj.get("marks")
34
41
  resolved_workers = workers if workers is not None else ctx.obj.get("workers")
35
42
  resolved_reruns = reruns if reruns is not None else ctx.obj.get("reruns")
36
43
  resolved_count = count if count is not None else ctx.obj.get("count")
44
+ resolved_timeout = timeout if timeout is not None else ctx.obj.get("timeout")
37
45
 
38
46
  run_pytest(
39
47
  int(resolved_workers),
40
48
  str(resolved_marks),
41
49
  int(resolved_reruns),
42
50
  resolved_count,
51
+ resolved_timeout,
43
52
  extra,
44
53
  )
@@ -147,6 +147,16 @@ DEFAULT_MARKS = "smoke"
147
147
  DEFAULT_XDIST_N = 8
148
148
  DEFAULT_RERUNS = 2
149
149
 
150
+ AUTH_KEYS = [
151
+ KEY_AUTH_SERVER_URL,
152
+ KEY_AUTH_CLIENT_ID,
153
+ KEY_AUTH_CLIENT_SECRET,
154
+ KEY_AUTH_USERNAME,
155
+ KEY_AUTH_PASSWORD,
156
+ KEY_AUTH_REALM_NAME,
157
+ KEY_CODEMIE_API_DOMAIN,
158
+ ]
159
+
150
160
  # === CREDENTIAL CATEGORIES ===
151
161
  VERSION_CONTROL_KEYS = [
152
162
  KEY_GIT_ENV,
@@ -274,6 +284,17 @@ DATA_MANAGEMENT_KEYS = [
274
284
  KEY_MSSQL_PASSWORD,
275
285
  ]
276
286
 
287
+ # Combined lists for backwards compatibility
288
+ INTEGRATION_KEYS = (
289
+ VERSION_CONTROL_KEYS
290
+ + PROJECT_MANAGEMENT_KEYS
291
+ + CLOUD_PROVIDERS_KEYS
292
+ + DEVELOPMENT_TOOLS_KEYS
293
+ + NOTIFICATIONS_KEYS
294
+ + RESEARCH_TOOLS_KEYS
295
+ + DATA_MANAGEMENT_KEYS
296
+ )
297
+
277
298
  # Category mapping for CLI
278
299
  CREDENTIAL_CATEGORIES = {
279
300
  "version-control": {
@@ -53,6 +53,7 @@ def build_pytest_cmd(
53
53
  marks: str,
54
54
  reruns: int,
55
55
  count: int | None = None,
56
+ timeout: int | None = None,
56
57
  extra: Iterable[str] | None = None,
57
58
  ) -> tuple[List[str], str]:
58
59
  tests_path, root_dir = resolve_tests_path_and_root()
@@ -65,6 +66,8 @@ def build_pytest_cmd(
65
66
  cmd += ["--reruns", str(reruns)]
66
67
  if count and int(count) > 0:
67
68
  cmd += ["--count", str(count)]
69
+ if timeout and int(timeout) > 0:
70
+ cmd += ["--timeout", str(timeout)]
68
71
  if extra:
69
72
  cmd += list(extra)
70
73
  return cmd, root_dir
@@ -107,11 +110,12 @@ def run_pytest(
107
110
  marks: str,
108
111
  reruns: int,
109
112
  count: int | None = None,
113
+ timeout: int | None = None,
110
114
  extra: Iterable[str] | None = None,
111
115
  ) -> None:
112
116
  # Validate marks before running pytest
113
117
  validate_marks_expression(marks)
114
118
 
115
- cmd, root_dir = build_pytest_cmd(workers, marks, reruns, count, extra)
119
+ cmd, root_dir = build_pytest_cmd(workers, marks, reruns, count, timeout, extra)
116
120
  CONSOLE.print(f"[cyan]Running:[/] {' '.join(cmd)} (cwd={root_dir})")
117
121
  raise SystemExit(subprocess.call(cmd, cwd=root_dir))
@@ -1,5 +1,8 @@
1
1
  [pytest]
2
2
  addopts = -v
3
+ timeout = 300
4
+ timeout_method = signal
5
+ timeout_func_only = true
3
6
  filterwarnings =
4
7
  ignore::pytest.PytestUnknownMarkWarning
5
8
  ignore::urllib3.exceptions.InsecureRequestWarning
@@ -25,6 +25,7 @@ from codemie_sdk.models.integration import (
25
25
  from codemie_sdk.models.workflow import WorkflowCreateRequest, WorkflowMode, Workflow
26
26
 
27
27
  from codemie_test_harness.tests import PROJECT, autotest_entity_prefix
28
+ from codemie_test_harness.tests.test_data.file_test_data import file_test_data
28
29
  from codemie_test_harness.tests.test_data.google_datasource_test_data import (
29
30
  GOOGLE_DOC_URL,
30
31
  )
@@ -32,7 +33,7 @@ from codemie_test_harness.tests.utils.assistant_utils import AssistantUtils
32
33
  from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
33
34
  from codemie_test_harness.tests.utils.base_utils import get_random_name, wait_for_entity
34
35
  from codemie_test_harness.tests.utils.client_factory import get_client
35
- from codemie_test_harness.tests.utils.constants import TESTS_PATH
36
+ from codemie_test_harness.tests.utils.constants import TESTS_PATH, FILES_PATH
36
37
  from codemie_test_harness.tests.utils.conversation_utils import ConversationUtils
37
38
  from codemie_test_harness.tests.utils.datasource_utils import DataSourceUtils
38
39
  from codemie_test_harness.tests.utils.gitbud_utils import GitBudUtils
@@ -458,6 +459,21 @@ def code_datasource(
458
459
  datasource_utils.delete_datasource(datasource)
459
460
 
460
461
 
462
+ @pytest.fixture(scope="session")
463
+ def file_datasource(datasource_utils, default_embedding_llm):
464
+ file_name = file_test_data[2][0]
465
+
466
+ datasource = datasource_utils.create_file_datasource(
467
+ name=get_random_name(),
468
+ description=f"[Autotest] {file_name} with {default_embedding_llm.base_name} embedding model",
469
+ files=[str(FILES_PATH / file_name)],
470
+ embeddings_model=default_embedding_llm.base_name,
471
+ )
472
+ yield datasource
473
+ if datasource:
474
+ datasource_utils.delete_datasource(datasource)
475
+
476
+
461
477
  @pytest.fixture(scope="session")
462
478
  def gitlab_datasource(datasource_utils, gitlab_integration, default_embedding_llm):
463
479
  datasource = datasource_utils.create_gitlab_datasource(
@@ -37,6 +37,7 @@ from codemie_test_harness.tests.test_data.pm_tools_test_data import (
37
37
  from codemie_test_harness.tests.test_data.report_portal_tools_test_data import (
38
38
  rp_test_data,
39
39
  )
40
+ from codemie_test_harness.tests.utils.base_utils import assert_tool_triggered
40
41
  from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
41
42
  from codemie_test_harness.tests.utils.constants import test_project_name
42
43
 
@@ -80,7 +81,11 @@ def test_assistant_with_default_integration_cloud(
80
81
  # create an assistant
81
82
  cloud_assistant = assistant(toolkit, tool_name, project_name=test_project_name)
82
83
 
83
- response = assistant_utils.ask_assistant(cloud_assistant, prompt)
84
+ response, triggered_tools = assistant_utils.ask_assistant(
85
+ cloud_assistant, prompt, minimal_response=False
86
+ )
87
+
88
+ assert_tool_triggered(tool_name, triggered_tools)
84
89
 
85
90
  similarity_check.check_similarity(response, expected_response)
86
91
 
@@ -119,7 +124,11 @@ def test_assistant_with_default_integration_ado(
119
124
  # create an assistant
120
125
  ado_assistant = assistant(toolkit, tool_name, project_name=test_project_name)
121
126
 
122
- response = assistant_utils.ask_assistant(ado_assistant, prompt)
127
+ response, triggered_tools = assistant_utils.ask_assistant(
128
+ ado_assistant, prompt, minimal_response=False
129
+ )
130
+
131
+ assert_tool_triggered(tool_name, triggered_tools)
123
132
 
124
133
  similarity_check.check_similarity(response, expected_response)
125
134
 
@@ -163,7 +172,11 @@ def test_assistant_with_default_integration_codebase(
163
172
  toolkit, CodeBaseTool.SONAR, project_name=test_project_name
164
173
  )
165
174
 
166
- response = assistant_utils.ask_assistant(sonar_assistant, prompt)
175
+ response, triggered_tools = assistant_utils.ask_assistant(
176
+ sonar_assistant, prompt, minimal_response=False
177
+ )
178
+
179
+ assert_tool_triggered(CodeBaseTool.SONAR, triggered_tools)
167
180
 
168
181
  similarity_check.check_similarity(response, expected_response)
169
182
 
@@ -216,7 +229,11 @@ def test_assistant_with_default_integration_git(
216
229
  project_name=test_project_name,
217
230
  )
218
231
 
219
- response = assistant_utils.ask_assistant(git_assistant, prompt)
232
+ response, triggered_tools = assistant_utils.ask_assistant(
233
+ git_assistant, prompt, minimal_response=False
234
+ )
235
+
236
+ assert_tool_triggered(tool_name, triggered_tools)
220
237
 
221
238
  similarity_check.check_similarity(response, expected_response)
222
239
 
@@ -255,7 +272,11 @@ def test_assistant_with_default_integration_jira(
255
272
  project_name=test_project_name,
256
273
  )
257
274
 
258
- response = assistant_utils.ask_assistant(jira_assistant, JIRA_TOOL_PROMPT)
275
+ response, triggered_tools = assistant_utils.ask_assistant(
276
+ jira_assistant, JIRA_TOOL_PROMPT, minimal_response=False
277
+ )
278
+
279
+ assert_tool_triggered(ProjectManagementTool.JIRA, triggered_tools)
259
280
 
260
281
  similarity_check.check_similarity(response, RESPONSE_FOR_JIRA_TOOL)
261
282
 
@@ -292,7 +313,11 @@ def test_assistant_with_default_integration_email(
292
313
  Toolkit.NOTIFICATION, NotificationTool.EMAIL, project_name=test_project_name
293
314
  )
294
315
 
295
- response = assistant_utils.ask_assistant(email_assistant, EMAIL_TOOL_PROMPT)
316
+ response, triggered_tools = assistant_utils.ask_assistant(
317
+ email_assistant, EMAIL_TOOL_PROMPT, minimal_response=False
318
+ )
319
+
320
+ assert_tool_triggered(NotificationTool.EMAIL, triggered_tools)
296
321
 
297
322
  similarity_check.check_similarity(response, EMAIL_RESPONSE)
298
323
 
@@ -329,7 +354,11 @@ def test_assistant_with_default_integration_keycloak(
329
354
  project_name=test_project_name,
330
355
  )
331
356
 
332
- response = assistant_utils.ask_assistant(keycloak_assistant, KEYCLOAK_TOOL_PROMPT)
357
+ response, triggered_tools = assistant_utils.ask_assistant(
358
+ keycloak_assistant, KEYCLOAK_TOOL_PROMPT, minimal_response=False
359
+ )
360
+
361
+ assert_tool_triggered(AccessManagementTool.KEYCLOAK, triggered_tools)
333
362
 
334
363
  similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
335
364
 
@@ -369,6 +398,10 @@ def test_assistant_with_default_integration_report_portal(
369
398
  project_name=test_project_name,
370
399
  )
371
400
 
372
- response = assistant_utils.ask_assistant(report_portal_assistant, prompt)
401
+ response, triggered_tools = assistant_utils.ask_assistant(
402
+ report_portal_assistant, prompt, minimal_response=False
403
+ )
404
+
405
+ assert_tool_triggered(ReportPortalTool.GET_DASHBOARD_DATA, triggered_tools)
373
406
 
374
407
  similarity_check.check_similarity(response, expected_response)
@@ -3,11 +3,8 @@ from codemie_sdk.models.assistant import ToolKitDetails, ToolDetails
3
3
  from hamcrest import assert_that, has_item
4
4
  from codemie_test_harness.tests.enums.model_types import ModelTypes
5
5
  from codemie_test_harness.tests.enums.tools import Toolkit, FileManagementTool
6
- from codemie_test_harness.tests.test_data.file_test_data import file_test_data
7
6
  from codemie_test_harness.tests.test_data.llm_test_data import MODEL_RESPONSES
8
- from codemie_test_harness.tests.utils.base_utils import get_random_name
9
7
  from codemie_test_harness.tests.utils.client_factory import get_client
10
- from codemie_test_harness.tests.utils.constants import FILES_PATH
11
8
  from codemie_test_harness.tests.utils.env_resolver import get_environment
12
9
  from codemie_test_harness.tests.utils.pytest_utils import check_mark
13
10
 
@@ -121,6 +118,7 @@ def test_assistant_with_different_models_with_datasource_attached(
121
118
  datasource_utils,
122
119
  default_embedding_llm,
123
120
  kb_context,
121
+ file_datasource,
124
122
  ):
125
123
  assert_that(
126
124
  [row.base_name for row in llm_utils.list_llm_models()],
@@ -128,17 +126,8 @@ def test_assistant_with_different_models_with_datasource_attached(
128
126
  f"{model_type} is missing in backend response",
129
127
  )
130
128
 
131
- file_name = file_test_data[2][0]
132
-
133
- datasource = datasource_utils.create_file_datasource(
134
- name=get_random_name(),
135
- description=f"[Autotest] {file_name} with {default_embedding_llm.base_name} embedding model",
136
- files=[str(FILES_PATH / file_name)],
137
- embeddings_model=default_embedding_llm.base_name,
138
- )
139
-
140
129
  assistant = assistant_utils.create_assistant(
141
- model_type, context=[kb_context(datasource)]
130
+ model_type, context=[kb_context(file_datasource)]
142
131
  )
143
132
  response = assistant_utils.ask_assistant(assistant, "Just say one word: 'Hello'")
144
133