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.
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/PKG-INFO +98 -2
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/README.md +95 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/cli.py +22 -1
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/run_cmd.py +9 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/constants.py +21 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/runner.py +5 -1
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/pytest.ini +3 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conftest.py +17 -1
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +41 -8
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/test_llm.py +2 -13
- codemie_test_harness-0.1.198/codemie_test_harness/tests/test_data/assistant_test_data.py +839 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/pyproject.toml +6 -2
- codemie_test_harness-0.1.197/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -839
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/.env +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/config_cmd.py +1 -1
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/marks_cmd.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/marks_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conversations/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/e2e/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/environment.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/integrations.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/model_types.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/enums/tools.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/providers/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_task_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_user_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.json +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.png +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/openapi.json +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/conftest.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/test_chat_configuration.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/chats/test_chat_functionality.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/conftest.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/chat_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/chats_sidebar.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/chats/configuration_panel.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/test_data/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/ui/workflows/test_workflows.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/assistant_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/base_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/client_factory.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/constants.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/env_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/file_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/http_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/json_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/logger_util.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/search_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/user_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/__init__.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
- {codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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.
|
|
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.
|
|
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:
|
{codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/cli.py
RENAMED
|
@@ -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(
|
|
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
|
)
|
{codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/constants.py
RENAMED
|
@@ -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": {
|
{codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/cli/runner.py
RENAMED
|
@@ -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))
|
{codemie_test_harness-0.1.197 → codemie_test_harness-0.1.198}/codemie_test_harness/tests/conftest.py
RENAMED
|
@@ -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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|