codemie-test-harness 0.1.179__tar.gz → 0.1.181__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.179 → codemie_test_harness-0.1.181}/PKG-INFO +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/README.md +6 -6
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/cli.py +2 -0
- codemie_test_harness-0.1.181/codemie_test_harness/cli/commands/marks_cmd.py +39 -0
- codemie_test_harness-0.1.181/codemie_test_harness/cli/marks_utils.py +338 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/runner.py +40 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +20 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +20 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +20 -9
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +21 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +22 -9
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +29 -13
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +29 -13
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +29 -13
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/test_assistants.py +53 -35
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +7 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +39 -11
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +27 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +27 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +9 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +13 -4
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +32 -11
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +37 -12
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +48 -17
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +16 -9
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +14 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +11 -4
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +6 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +27 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +17 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +12 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +36 -17
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +7 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +17 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +6 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +7 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/e2e/test_e2e.py +6 -6
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/enums/tools.py +32 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +14 -14
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +9 -9
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +14 -14
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +12 -12
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/llm/assistants/test_llm.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -11
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/search/test_search_assistant.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/search/test_search_datasource.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/search/test_search_integration.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/search/test_search_workflow.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_assistant_service.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/codebase_tools_test_data.py +11 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/file_test_data.py +17 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +11 -11
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +7 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +9 -9
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +12 -12
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +15 -15
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +19 -19
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +36 -36
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/test_workflows.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/assistant_utils.py +34 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/base_utils.py +61 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +7 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +4 -4
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/test_workflows.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +4 -4
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +5 -5
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +7 -7
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +3 -3
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +4 -4
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +1 -1
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/pyproject.toml +2 -2
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/.env +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/commands/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/constants.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/pytest.ini +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/conftest.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/conversations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/e2e/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/enums/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/enums/environment.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/enums/integrations.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/enums/model_types.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/llm/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/providers/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/search/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_task_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_user_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/large-files/large_file.txt +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.json +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.png +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/git_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/google_datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/mcp_server_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/openapi.json +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/output_schema_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/plugin_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/pm_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/project_management_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/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.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/_test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/_test_data/assistant_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/_test_data/datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/_test_data/integration_test_data.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/conftest.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/assistants/create_assistant_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/assistants/generate_with_ai_modal.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/execution_history_row.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/components/workflow_state_card.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/datasources/create_edit_datasource_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/datasources/view_datasource_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/integrations/create_integration_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/client_factory.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/constants.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/env_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/file_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/http_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/json_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/logger_util.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/search_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/user_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.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.181
|
|
4
4
|
Summary: Autotest for CodeMie backend and UI
|
|
5
5
|
Author: Anton Yeromin
|
|
6
6
|
Author-email: anton_yeromin@epam.com
|
|
@@ -13,7 +13,7 @@ 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.181)
|
|
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-reportportal (>=5.5.2,<6.0.0)
|
|
@@ -265,7 +265,7 @@ codemie-test-harness run --marks "smoke or gitlab or jira_kb" -n 8 --reruns 2
|
|
|
265
265
|
codemie-test-harness run --codemie-api-domain https://api.example.com --marks smoke
|
|
266
266
|
|
|
267
267
|
# Run with custom test patterns
|
|
268
|
-
codemie-test-harness run --test-path "tests/integration/" --marks
|
|
268
|
+
codemie-test-harness run --test-path "tests/integration/" --marks api
|
|
269
269
|
```
|
|
270
270
|
|
|
271
271
|
Provider-specific examples:
|
|
@@ -376,7 +376,7 @@ Common markers in this repo include:
|
|
|
376
376
|
- **smoke** - Quick smoke tests
|
|
377
377
|
- **mcp** - Model Context Protocol tests
|
|
378
378
|
- **plugin** - Plugin functionality tests
|
|
379
|
-
- **
|
|
379
|
+
- **api** - Comprehensive api tests
|
|
380
380
|
- **ui** - User interface tests (Playwright)
|
|
381
381
|
- **jira_kb, confluence_kb, code_kb** - Knowledge base tests
|
|
382
382
|
- **gitlab, github, git** - Version control integration tests
|
|
@@ -387,7 +387,7 @@ Common markers in this repo include:
|
|
|
387
387
|
```shell
|
|
388
388
|
# Target specific environments
|
|
389
389
|
codemie-test-harness run --codemie-api-domain https://preview.codemie.ai --marks smoke
|
|
390
|
-
codemie-test-harness run --codemie-api-domain https://prod.codemie.ai --marks
|
|
390
|
+
codemie-test-harness run --codemie-api-domain https://prod.codemie.ai --marks api
|
|
391
391
|
|
|
392
392
|
# Local development
|
|
393
393
|
codemie-test-harness run --codemie-api-domain http://localhost:8080 --marks "smoke and not ui"
|
|
@@ -505,8 +505,8 @@ pytest -n 10 -m "not not_for_parallel_run" --reruns 2
|
|
|
505
505
|
# Tests that cannot be run in parallel
|
|
506
506
|
pytest -m not_for_parallel_run --reruns 2
|
|
507
507
|
|
|
508
|
-
#
|
|
509
|
-
pytest -n 10 -m "
|
|
508
|
+
# API tests
|
|
509
|
+
pytest -n 10 -m "api and not not_for_parallel_run" --reruns 2
|
|
510
510
|
pytest -m not_for_parallel_run --reruns 3
|
|
511
511
|
```
|
|
512
512
|
|
|
@@ -536,7 +536,7 @@ pytest.ini is preconfigured with rp_endpoint, rp_project, and a default rp_launc
|
|
|
536
536
|
2) Add the flag:
|
|
537
537
|
|
|
538
538
|
```shell
|
|
539
|
-
pytest -n 10 -m "
|
|
539
|
+
pytest -n 10 -m "api and not not_for_parallel_run" --reruns 2 --reportportal
|
|
540
540
|
```
|
|
541
541
|
|
|
542
542
|
If you need access to the ReportPortal project, contact: Anton Yeromin (anton_yeromin@epam.com).
|
|
@@ -238,7 +238,7 @@ codemie-test-harness run --marks "smoke or gitlab or jira_kb" -n 8 --reruns 2
|
|
|
238
238
|
codemie-test-harness run --codemie-api-domain https://api.example.com --marks smoke
|
|
239
239
|
|
|
240
240
|
# Run with custom test patterns
|
|
241
|
-
codemie-test-harness run --test-path "tests/integration/" --marks
|
|
241
|
+
codemie-test-harness run --test-path "tests/integration/" --marks api
|
|
242
242
|
```
|
|
243
243
|
|
|
244
244
|
Provider-specific examples:
|
|
@@ -349,7 +349,7 @@ Common markers in this repo include:
|
|
|
349
349
|
- **smoke** - Quick smoke tests
|
|
350
350
|
- **mcp** - Model Context Protocol tests
|
|
351
351
|
- **plugin** - Plugin functionality tests
|
|
352
|
-
- **
|
|
352
|
+
- **api** - Comprehensive api tests
|
|
353
353
|
- **ui** - User interface tests (Playwright)
|
|
354
354
|
- **jira_kb, confluence_kb, code_kb** - Knowledge base tests
|
|
355
355
|
- **gitlab, github, git** - Version control integration tests
|
|
@@ -360,7 +360,7 @@ Common markers in this repo include:
|
|
|
360
360
|
```shell
|
|
361
361
|
# Target specific environments
|
|
362
362
|
codemie-test-harness run --codemie-api-domain https://preview.codemie.ai --marks smoke
|
|
363
|
-
codemie-test-harness run --codemie-api-domain https://prod.codemie.ai --marks
|
|
363
|
+
codemie-test-harness run --codemie-api-domain https://prod.codemie.ai --marks api
|
|
364
364
|
|
|
365
365
|
# Local development
|
|
366
366
|
codemie-test-harness run --codemie-api-domain http://localhost:8080 --marks "smoke and not ui"
|
|
@@ -478,8 +478,8 @@ pytest -n 10 -m "not not_for_parallel_run" --reruns 2
|
|
|
478
478
|
# Tests that cannot be run in parallel
|
|
479
479
|
pytest -m not_for_parallel_run --reruns 2
|
|
480
480
|
|
|
481
|
-
#
|
|
482
|
-
pytest -n 10 -m "
|
|
481
|
+
# API tests
|
|
482
|
+
pytest -n 10 -m "api and not not_for_parallel_run" --reruns 2
|
|
483
483
|
pytest -m not_for_parallel_run --reruns 3
|
|
484
484
|
```
|
|
485
485
|
|
|
@@ -509,7 +509,7 @@ pytest.ini is preconfigured with rp_endpoint, rp_project, and a default rp_launc
|
|
|
509
509
|
2) Add the flag:
|
|
510
510
|
|
|
511
511
|
```shell
|
|
512
|
-
pytest -n 10 -m "
|
|
512
|
+
pytest -n 10 -m "api and not not_for_parallel_run" --reruns 2 --reportportal
|
|
513
513
|
```
|
|
514
514
|
|
|
515
515
|
If you need access to the ReportPortal project, contact: Anton Yeromin (anton_yeromin@epam.com).
|
{codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/cli.py
RENAMED
|
@@ -35,6 +35,7 @@ from .commands.config_cmd import config_cmd
|
|
|
35
35
|
from .commands.run_cmd import run_cmd
|
|
36
36
|
from .commands.assistant_cmd import assistant_cmd
|
|
37
37
|
from .commands.workflow_cmd import workflow_cmd
|
|
38
|
+
from .commands.marks_cmd import marks_cmd
|
|
38
39
|
|
|
39
40
|
|
|
40
41
|
@click.group(context_settings=CONTEXT_SETTINGS)
|
|
@@ -130,6 +131,7 @@ cli.add_command(config_cmd)
|
|
|
130
131
|
cli.add_command(run_cmd)
|
|
131
132
|
cli.add_command(assistant_cmd)
|
|
132
133
|
cli.add_command(workflow_cmd)
|
|
134
|
+
cli.add_command(marks_cmd)
|
|
133
135
|
|
|
134
136
|
|
|
135
137
|
if __name__ == "__main__": # pragma: no cover
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""CLI command for listing pytest marks."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
import click
|
|
5
|
+
from ..marks_utils import discover_all_marks, print_marks_list
|
|
6
|
+
from ..constants import CONSOLE
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@click.command(name="marks")
|
|
10
|
+
@click.option(
|
|
11
|
+
"--verbose",
|
|
12
|
+
"-v",
|
|
13
|
+
is_flag=True,
|
|
14
|
+
help="Show detailed information in table format with line numbers",
|
|
15
|
+
)
|
|
16
|
+
@click.option(
|
|
17
|
+
"--count", "-c", is_flag=True, help="Show only the count of available marks"
|
|
18
|
+
)
|
|
19
|
+
def marks_cmd(verbose: bool, count: bool):
|
|
20
|
+
"""List all available pytest marks in the test suite.
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
codemie-test-harness marks # List all marks
|
|
24
|
+
codemie-test-harness marks --verbose # List marks with file details in table format
|
|
25
|
+
codemie-test-harness marks --count # Show only count
|
|
26
|
+
"""
|
|
27
|
+
try:
|
|
28
|
+
if count:
|
|
29
|
+
# For count mode, we don't need detailed information
|
|
30
|
+
marks_info = discover_all_marks(include_details=False)
|
|
31
|
+
CONSOLE.print(f"[green]{len(marks_info)}[/green] pytest marks available")
|
|
32
|
+
return
|
|
33
|
+
|
|
34
|
+
# Let print_marks_list handle the discovery with appropriate details
|
|
35
|
+
print_marks_list(marks_info=None, show_files=verbose)
|
|
36
|
+
|
|
37
|
+
except Exception as e:
|
|
38
|
+
CONSOLE.print(f"[red]Error discovering marks: {str(e)}[/red]")
|
|
39
|
+
raise click.ClickException("Failed to discover pytest marks")
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"""Utilities for handling pytest marks in the test harness."""
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
import ast
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Set, List, Dict
|
|
7
|
+
from .constants import CONSOLE
|
|
8
|
+
from rich.table import Table
|
|
9
|
+
|
|
10
|
+
try:
|
|
11
|
+
from importlib.resources import files as pkg_files
|
|
12
|
+
except Exception:
|
|
13
|
+
pkg_files = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def extract_marks_from_file(
|
|
17
|
+
file_path: Path, include_lines: bool = False
|
|
18
|
+
) -> Set[str] | Dict[str, List[int]]:
|
|
19
|
+
"""Extract pytest marks from a Python test file.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
file_path: Path to the Python file to analyze
|
|
23
|
+
include_lines: If True, return dict with mark names and line numbers
|
|
24
|
+
|
|
25
|
+
Returns:
|
|
26
|
+
Set of mark names found in the file, or dict mapping marks to line numbers
|
|
27
|
+
"""
|
|
28
|
+
if include_lines:
|
|
29
|
+
marks_with_lines = {}
|
|
30
|
+
else:
|
|
31
|
+
marks = set()
|
|
32
|
+
|
|
33
|
+
try:
|
|
34
|
+
with open(file_path, "r", encoding="utf-8") as f:
|
|
35
|
+
content = f.read()
|
|
36
|
+
|
|
37
|
+
# Parse the file to AST for reliable extraction
|
|
38
|
+
try:
|
|
39
|
+
tree = ast.parse(content)
|
|
40
|
+
for node in ast.walk(tree):
|
|
41
|
+
if isinstance(node, ast.FunctionDef):
|
|
42
|
+
for decorator in node.decorator_list:
|
|
43
|
+
mark_name = _extract_mark_from_decorator(decorator)
|
|
44
|
+
if mark_name:
|
|
45
|
+
if include_lines:
|
|
46
|
+
if mark_name not in marks_with_lines:
|
|
47
|
+
marks_with_lines[mark_name] = []
|
|
48
|
+
marks_with_lines[mark_name].append(decorator.lineno)
|
|
49
|
+
else:
|
|
50
|
+
marks.add(mark_name)
|
|
51
|
+
except SyntaxError:
|
|
52
|
+
# If AST parsing fails, fall back to regex
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
# Additional regex-based extraction for edge cases
|
|
56
|
+
if include_lines:
|
|
57
|
+
regex_marks_with_lines = _extract_marks_with_regex_and_lines(content)
|
|
58
|
+
for mark, lines in regex_marks_with_lines.items():
|
|
59
|
+
if mark not in marks_with_lines:
|
|
60
|
+
marks_with_lines[mark] = []
|
|
61
|
+
marks_with_lines[mark].extend(lines)
|
|
62
|
+
else:
|
|
63
|
+
regex_marks = _extract_marks_with_regex(content)
|
|
64
|
+
marks.update(regex_marks)
|
|
65
|
+
|
|
66
|
+
except (IOError, UnicodeDecodeError):
|
|
67
|
+
# Skip files that can't be read
|
|
68
|
+
pass
|
|
69
|
+
|
|
70
|
+
return marks_with_lines if include_lines else marks
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def _extract_mark_from_decorator(decorator) -> str | None:
|
|
74
|
+
"""Extract mark name from AST decorator node."""
|
|
75
|
+
mark_name = None
|
|
76
|
+
|
|
77
|
+
if isinstance(decorator, ast.Attribute):
|
|
78
|
+
# @pytest.mark.some_mark
|
|
79
|
+
if (
|
|
80
|
+
isinstance(decorator.value, ast.Attribute)
|
|
81
|
+
and isinstance(decorator.value.value, ast.Name)
|
|
82
|
+
and decorator.value.value.id == "pytest"
|
|
83
|
+
and decorator.value.attr == "mark"
|
|
84
|
+
):
|
|
85
|
+
mark_name = decorator.attr
|
|
86
|
+
elif isinstance(decorator, ast.Call):
|
|
87
|
+
# @pytest.mark.some_mark(...) with arguments
|
|
88
|
+
if (
|
|
89
|
+
isinstance(decorator.func, ast.Attribute)
|
|
90
|
+
and isinstance(decorator.func.value, ast.Attribute)
|
|
91
|
+
and isinstance(decorator.func.value.value, ast.Name)
|
|
92
|
+
and decorator.func.value.value.id == "pytest"
|
|
93
|
+
and decorator.func.value.attr == "mark"
|
|
94
|
+
):
|
|
95
|
+
mark_name = decorator.func.attr
|
|
96
|
+
|
|
97
|
+
# Filter out pytest built-in decorators that aren't marks
|
|
98
|
+
if mark_name in {
|
|
99
|
+
"parametrize",
|
|
100
|
+
"fixture",
|
|
101
|
+
"skip",
|
|
102
|
+
"skipif",
|
|
103
|
+
"xfail",
|
|
104
|
+
"usefixtures",
|
|
105
|
+
"testcase",
|
|
106
|
+
"todo",
|
|
107
|
+
}:
|
|
108
|
+
return None
|
|
109
|
+
|
|
110
|
+
return mark_name
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def _extract_marks_with_regex(content: str) -> Set[str]:
|
|
114
|
+
"""Extract marks using regex as fallback."""
|
|
115
|
+
marks = set()
|
|
116
|
+
|
|
117
|
+
# Pattern to match @pytest.mark.mark_name
|
|
118
|
+
pattern = r"@pytest\.mark\.(\w+)"
|
|
119
|
+
matches = re.findall(pattern, content)
|
|
120
|
+
|
|
121
|
+
for match in matches:
|
|
122
|
+
# Filter out pytest built-in decorators that aren't marks
|
|
123
|
+
if match not in {
|
|
124
|
+
"parametrize",
|
|
125
|
+
"fixture",
|
|
126
|
+
"skip",
|
|
127
|
+
"skipif",
|
|
128
|
+
"xfail",
|
|
129
|
+
"usefixtures",
|
|
130
|
+
"todo",
|
|
131
|
+
}:
|
|
132
|
+
marks.add(match)
|
|
133
|
+
|
|
134
|
+
return marks
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def _extract_marks_with_regex_and_lines(content: str) -> Dict[str, List[int]]:
|
|
138
|
+
"""Extract marks with line numbers using regex as fallback."""
|
|
139
|
+
marks_with_lines = {}
|
|
140
|
+
lines = content.split("\n")
|
|
141
|
+
|
|
142
|
+
# Pattern to match @pytest.mark.mark_name
|
|
143
|
+
pattern = r"@pytest\.mark\.(\w+)"
|
|
144
|
+
|
|
145
|
+
for line_num, line in enumerate(lines, 1):
|
|
146
|
+
matches = re.findall(pattern, line)
|
|
147
|
+
for match in matches:
|
|
148
|
+
# Filter out pytest built-in decorators that aren't marks
|
|
149
|
+
if match not in {
|
|
150
|
+
"parametrize",
|
|
151
|
+
"fixture",
|
|
152
|
+
"skip",
|
|
153
|
+
"skipif",
|
|
154
|
+
"xfail",
|
|
155
|
+
"usefixtures",
|
|
156
|
+
"todo",
|
|
157
|
+
}:
|
|
158
|
+
if match not in marks_with_lines:
|
|
159
|
+
marks_with_lines[match] = []
|
|
160
|
+
marks_with_lines[match].append(line_num)
|
|
161
|
+
|
|
162
|
+
return marks_with_lines
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def _resolve_tests_path() -> str:
|
|
166
|
+
"""Resolve tests path for mark discovery.
|
|
167
|
+
|
|
168
|
+
Returns:
|
|
169
|
+
Path to tests directory
|
|
170
|
+
"""
|
|
171
|
+
# 1) Use importlib.resources to locate installed package "tests"
|
|
172
|
+
if pkg_files is not None:
|
|
173
|
+
try:
|
|
174
|
+
# Try to locate codemie_test_harness.tests package
|
|
175
|
+
tests_dir = Path(str(pkg_files("codemie_test_harness.tests")))
|
|
176
|
+
return str(tests_dir)
|
|
177
|
+
except Exception:
|
|
178
|
+
pass
|
|
179
|
+
|
|
180
|
+
# 2) Fallback to repo layout when running from source
|
|
181
|
+
# marks_utils.py -> cli -> codemie_test_harness -> <repo_root>
|
|
182
|
+
codemie_test_harness_root = (
|
|
183
|
+
Path(__file__).resolve().parents[1]
|
|
184
|
+
) # codemie_test_harness directory
|
|
185
|
+
tests_path = str(codemie_test_harness_root / "tests")
|
|
186
|
+
return tests_path
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def discover_all_marks(
|
|
190
|
+
include_details: bool = False,
|
|
191
|
+
) -> Dict[str, List[str]] | Dict[str, List[Dict]]:
|
|
192
|
+
"""Discover all pytest marks used in the test suite.
|
|
193
|
+
|
|
194
|
+
Args:
|
|
195
|
+
include_details: If True, return detailed info with line numbers
|
|
196
|
+
|
|
197
|
+
Returns:
|
|
198
|
+
Dictionary with mark names as keys and list of files (or detailed info) as values
|
|
199
|
+
"""
|
|
200
|
+
tests_path = _resolve_tests_path()
|
|
201
|
+
tests_dir = Path(tests_path)
|
|
202
|
+
|
|
203
|
+
if not tests_dir.exists():
|
|
204
|
+
return {}
|
|
205
|
+
|
|
206
|
+
marks_info = {}
|
|
207
|
+
|
|
208
|
+
# Find all Python test files
|
|
209
|
+
for py_file in tests_dir.rglob("*.py"):
|
|
210
|
+
if py_file.name.startswith("test_") or py_file.name.endswith("_test.py"):
|
|
211
|
+
rel_path = str(py_file.relative_to(tests_dir))
|
|
212
|
+
|
|
213
|
+
if include_details:
|
|
214
|
+
marks_with_lines = extract_marks_from_file(py_file, include_lines=True)
|
|
215
|
+
|
|
216
|
+
for mark, lines in marks_with_lines.items():
|
|
217
|
+
if mark not in marks_info:
|
|
218
|
+
marks_info[mark] = []
|
|
219
|
+
|
|
220
|
+
for line in lines:
|
|
221
|
+
marks_info[mark].append({"file": rel_path, "line": line})
|
|
222
|
+
else:
|
|
223
|
+
marks = extract_marks_from_file(py_file)
|
|
224
|
+
|
|
225
|
+
for mark in marks:
|
|
226
|
+
if mark not in marks_info:
|
|
227
|
+
marks_info[mark] = []
|
|
228
|
+
# Store relative path for readability
|
|
229
|
+
if rel_path not in marks_info[mark]:
|
|
230
|
+
marks_info[mark].append(rel_path)
|
|
231
|
+
|
|
232
|
+
return marks_info
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
def get_all_available_marks() -> List[str]:
|
|
236
|
+
"""Get sorted list of all available pytest marks."""
|
|
237
|
+
marks_to_files = discover_all_marks()
|
|
238
|
+
return sorted(marks_to_files.keys())
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
def is_valid_mark_expression(
|
|
242
|
+
expression: str, available_marks: List[str]
|
|
243
|
+
) -> tuple[bool, List[str]]:
|
|
244
|
+
"""Validate if a mark expression contains only known marks.
|
|
245
|
+
|
|
246
|
+
Args:
|
|
247
|
+
expression: The pytest mark expression (e.g., "smoke and ui", "not integration")
|
|
248
|
+
available_marks: List of all available marks
|
|
249
|
+
|
|
250
|
+
Returns:
|
|
251
|
+
Tuple of (is_valid, list_of_unknown_marks)
|
|
252
|
+
"""
|
|
253
|
+
if not expression or not expression.strip():
|
|
254
|
+
return True, []
|
|
255
|
+
|
|
256
|
+
# Extract mark names from the expression
|
|
257
|
+
# This regex finds word tokens that could be mark names
|
|
258
|
+
potential_marks = re.findall(r"\b(\w+)\b", expression)
|
|
259
|
+
|
|
260
|
+
# Filter out logical operators and known keywords
|
|
261
|
+
logical_keywords = {"and", "or", "not", "true", "false"}
|
|
262
|
+
unknown_marks = []
|
|
263
|
+
|
|
264
|
+
available_marks_set = set(available_marks)
|
|
265
|
+
|
|
266
|
+
for mark in potential_marks:
|
|
267
|
+
if mark not in logical_keywords and mark not in available_marks_set:
|
|
268
|
+
unknown_marks.append(mark)
|
|
269
|
+
|
|
270
|
+
return len(unknown_marks) == 0, unknown_marks
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
def print_marks_list(marks_info=None, show_files: bool = False):
|
|
274
|
+
"""Print formatted list of available marks.
|
|
275
|
+
|
|
276
|
+
Args:
|
|
277
|
+
marks_info: Optional pre-computed marks dictionary
|
|
278
|
+
show_files: Whether to show detailed information in table format
|
|
279
|
+
"""
|
|
280
|
+
if marks_info is None:
|
|
281
|
+
marks_info = discover_all_marks(include_details=show_files)
|
|
282
|
+
|
|
283
|
+
if not marks_info:
|
|
284
|
+
CONSOLE.print("[yellow]No pytest marks found in test files.[/yellow]")
|
|
285
|
+
return
|
|
286
|
+
|
|
287
|
+
if show_files:
|
|
288
|
+
# Verbose mode - show table with detailed information
|
|
289
|
+
CONSOLE.print(
|
|
290
|
+
f"\n[bold cyan]Available pytest marks ({len(marks_info)} total):[/bold cyan]\n"
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
table = Table(show_header=True, header_style="bold magenta")
|
|
294
|
+
table.add_column("Mark", style="bold green", width=25)
|
|
295
|
+
table.add_column("File", style="cyan", width=110)
|
|
296
|
+
table.add_column("Usage Count", style="blue", justify="right", width=12)
|
|
297
|
+
|
|
298
|
+
for mark in sorted(marks_info.keys()):
|
|
299
|
+
details = marks_info[mark]
|
|
300
|
+
|
|
301
|
+
# Group by file and count occurrences
|
|
302
|
+
file_counts = {}
|
|
303
|
+
for detail in details:
|
|
304
|
+
file_path = detail["file"]
|
|
305
|
+
if file_path not in file_counts:
|
|
306
|
+
file_counts[file_path] = []
|
|
307
|
+
file_counts[file_path].append(detail["line"])
|
|
308
|
+
|
|
309
|
+
# Add rows for each file
|
|
310
|
+
first_row = True
|
|
311
|
+
for file_path, lines in sorted(file_counts.items()):
|
|
312
|
+
mark_display = (
|
|
313
|
+
mark if first_row else ""
|
|
314
|
+
) # Just the mark name, no @pytest.mark. prefix
|
|
315
|
+
usage_count = str(len(lines))
|
|
316
|
+
|
|
317
|
+
table.add_row(mark_display, file_path, usage_count)
|
|
318
|
+
first_row = False
|
|
319
|
+
|
|
320
|
+
# Add separator row if not the last mark
|
|
321
|
+
if mark != sorted(marks_info.keys())[-1]:
|
|
322
|
+
table.add_row("", "", "", style="dim")
|
|
323
|
+
|
|
324
|
+
CONSOLE.print(table)
|
|
325
|
+
CONSOLE.print(f"\n[dim]Total: {len(marks_info)} unique marks found[/dim]")
|
|
326
|
+
else:
|
|
327
|
+
# Simple mode - just list marks
|
|
328
|
+
CONSOLE.print(
|
|
329
|
+
f"\n[bold cyan]Available pytest marks ({len(marks_info)} total):[/bold cyan]\n"
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
for mark in sorted(marks_info.keys()):
|
|
333
|
+
files = marks_info[mark]
|
|
334
|
+
CONSOLE.print(f"[green]• {mark}[/green] [dim]({len(files)} files)[/dim]")
|
|
335
|
+
|
|
336
|
+
CONSOLE.print(
|
|
337
|
+
"\n[dim]Use --verbose to see detailed information in table format.[/dim]"
|
|
338
|
+
)
|
{codemie_test_harness-0.1.179 → codemie_test_harness-0.1.181}/codemie_test_harness/cli/runner.py
RENAMED
|
@@ -10,6 +10,11 @@ except Exception:
|
|
|
10
10
|
pkg_files = None
|
|
11
11
|
|
|
12
12
|
from .constants import CONSOLE
|
|
13
|
+
from .marks_utils import (
|
|
14
|
+
get_all_available_marks,
|
|
15
|
+
is_valid_mark_expression,
|
|
16
|
+
print_marks_list,
|
|
17
|
+
)
|
|
13
18
|
|
|
14
19
|
|
|
15
20
|
def resolve_tests_path_and_root() -> tuple[str, str]:
|
|
@@ -59,9 +64,44 @@ def build_pytest_cmd(
|
|
|
59
64
|
return cmd, root_dir
|
|
60
65
|
|
|
61
66
|
|
|
67
|
+
def validate_marks_expression(marks: str) -> None:
|
|
68
|
+
"""Validate that the marks expression contains only known marks.
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
marks: The pytest marks expression to validate
|
|
72
|
+
|
|
73
|
+
Raises:
|
|
74
|
+
SystemExit: If unknown marks are found
|
|
75
|
+
"""
|
|
76
|
+
if not marks or not marks.strip():
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
available_marks = get_all_available_marks()
|
|
81
|
+
is_valid, unknown_marks = is_valid_mark_expression(marks, available_marks)
|
|
82
|
+
|
|
83
|
+
if not is_valid:
|
|
84
|
+
CONSOLE.print(
|
|
85
|
+
f"[red]Error: Unknown pytest mark(s) found: {', '.join(unknown_marks)}[/red]"
|
|
86
|
+
)
|
|
87
|
+
CONSOLE.print(f"\n[yellow]Expression used:[/yellow] {marks}")
|
|
88
|
+
print_marks_list(show_files=False)
|
|
89
|
+
CONSOLE.print(
|
|
90
|
+
"\n[dim]Use 'codemie-test-harness marks' to see all available marks[/dim]"
|
|
91
|
+
)
|
|
92
|
+
raise SystemExit(1)
|
|
93
|
+
|
|
94
|
+
except Exception as e:
|
|
95
|
+
# If mark validation fails for any reason, issue a warning but continue
|
|
96
|
+
CONSOLE.print(f"[yellow]Warning: Could not validate marks: {str(e)}[/yellow]")
|
|
97
|
+
|
|
98
|
+
|
|
62
99
|
def run_pytest(
|
|
63
100
|
workers: int, marks: str, reruns: int, extra: Iterable[str] | None = None
|
|
64
101
|
) -> None:
|
|
102
|
+
# Validate marks before running pytest
|
|
103
|
+
validate_marks_expression(marks)
|
|
104
|
+
|
|
65
105
|
cmd, root_dir = build_pytest_cmd(workers, marks, reruns, extra)
|
|
66
106
|
CONSOLE.print(f"[cyan]Running:[/] {' '.join(cmd)} (cwd={root_dir})")
|
|
67
107
|
raise SystemExit(subprocess.call(cmd, cwd=root_dir))
|
|
@@ -4,13 +4,18 @@ import pytest
|
|
|
4
4
|
from hamcrest import assert_that, equal_to
|
|
5
5
|
from requests import HTTPError
|
|
6
6
|
|
|
7
|
+
from codemie_test_harness.tests.enums.tools import Default
|
|
7
8
|
from codemie_test_harness.tests.test_data.index_test_data import index_test_data
|
|
8
|
-
from codemie_test_harness.tests.utils.base_utils import
|
|
9
|
+
from codemie_test_harness.tests.utils.base_utils import (
|
|
10
|
+
get_random_name,
|
|
11
|
+
assert_response,
|
|
12
|
+
assert_tool_triggered,
|
|
13
|
+
)
|
|
9
14
|
|
|
10
15
|
|
|
11
16
|
@pytest.mark.datasource
|
|
12
17
|
@pytest.mark.gitlab
|
|
13
|
-
@pytest.mark.
|
|
18
|
+
@pytest.mark.api
|
|
14
19
|
@pytest.mark.parametrize(
|
|
15
20
|
"embedding_model",
|
|
16
21
|
index_test_data,
|
|
@@ -35,22 +40,30 @@ def test_create_index_application_with_embedding_model(
|
|
|
35
40
|
setting_id=git_integration.id, embeddings_model=embedding_model
|
|
36
41
|
)
|
|
37
42
|
|
|
38
|
-
assistant = assistant(
|
|
43
|
+
assistant = assistant(
|
|
44
|
+
context=code_context(datasource), system_prompt="Run tools on each user prompt"
|
|
45
|
+
)
|
|
39
46
|
|
|
40
|
-
answer = assistant_utils.ask_assistant(
|
|
47
|
+
answer, triggered_tools = assistant_utils.ask_assistant(
|
|
48
|
+
assistant, question, minimal_response=False
|
|
49
|
+
)
|
|
50
|
+
assert_tool_triggered(Default.GET_REPOSITORY_FILE_TREE, triggered_tools)
|
|
41
51
|
similarity_check.check_similarity(answer, expected_answer)
|
|
42
52
|
|
|
43
53
|
datasource_utils.update_code_datasource(
|
|
44
54
|
datasource.id, full_reindex=True, skip_reindex=False
|
|
45
55
|
)
|
|
46
56
|
|
|
47
|
-
answer = assistant_utils.ask_assistant(
|
|
57
|
+
answer, triggered_tools = assistant_utils.ask_assistant(
|
|
58
|
+
assistant, question, minimal_response=False
|
|
59
|
+
)
|
|
60
|
+
assert_tool_triggered(Default.GET_REPOSITORY_FILE_TREE, triggered_tools)
|
|
48
61
|
similarity_check.check_similarity(answer, expected_answer)
|
|
49
62
|
|
|
50
63
|
|
|
51
64
|
@pytest.mark.datasource
|
|
52
65
|
@pytest.mark.gitlab
|
|
53
|
-
@pytest.mark.
|
|
66
|
+
@pytest.mark.api
|
|
54
67
|
def test_edit_description_for_code_data_source(
|
|
55
68
|
client,
|
|
56
69
|
gitlab_datasource,
|
|
@@ -68,7 +81,7 @@ def test_edit_description_for_code_data_source(
|
|
|
68
81
|
|
|
69
82
|
@pytest.mark.datasource
|
|
70
83
|
@pytest.mark.gitlab
|
|
71
|
-
@pytest.mark.
|
|
84
|
+
@pytest.mark.api
|
|
72
85
|
def test_create_code_datasource_with_existing_name(gitlab_datasource, datasource_utils):
|
|
73
86
|
datasource = datasource_utils.get_datasource(gitlab_datasource.id)
|
|
74
87
|
|
|
@@ -13,7 +13,12 @@ from codemie_test_harness.tests.test_data.pm_tools_test_data import (
|
|
|
13
13
|
RESPONSE_FOR_CONFLUENCE_CLOUD_TOOL,
|
|
14
14
|
)
|
|
15
15
|
from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
|
|
16
|
-
from codemie_test_harness.tests.utils.base_utils import
|
|
16
|
+
from codemie_test_harness.tests.utils.base_utils import (
|
|
17
|
+
get_random_name,
|
|
18
|
+
assert_response,
|
|
19
|
+
assert_tool_triggered,
|
|
20
|
+
)
|
|
21
|
+
from codemie_test_harness.tests.enums.tools import Default
|
|
17
22
|
|
|
18
23
|
|
|
19
24
|
@pytest.fixture(scope="function")
|
|
@@ -29,7 +34,7 @@ def confluence_cloud_datasource(datasource_utils, confluence_cloud_integration):
|
|
|
29
34
|
|
|
30
35
|
@pytest.mark.datasource
|
|
31
36
|
@pytest.mark.project_management
|
|
32
|
-
@pytest.mark.
|
|
37
|
+
@pytest.mark.api
|
|
33
38
|
@pytest.mark.parametrize(
|
|
34
39
|
"datasource_fixture, prompt, expected_response",
|
|
35
40
|
[
|
|
@@ -61,22 +66,30 @@ def test_create_datasource_with_confluence_and_confluence_cloud_integration(
|
|
|
61
66
|
expected_response,
|
|
62
67
|
):
|
|
63
68
|
datasource = request.getfixturevalue(datasource_fixture)
|
|
64
|
-
assistant = assistant(
|
|
69
|
+
assistant = assistant(
|
|
70
|
+
context=kb_context(datasource), system_prompt="Run tools on each user prompt"
|
|
71
|
+
)
|
|
65
72
|
|
|
66
|
-
response = assistant_utils.ask_assistant(
|
|
73
|
+
response, triggered_tools = assistant_utils.ask_assistant(
|
|
74
|
+
assistant, prompt, minimal_response=False
|
|
75
|
+
)
|
|
76
|
+
assert_tool_triggered(Default.SEARCH_KB, triggered_tools)
|
|
67
77
|
similarity_check.check_similarity(response, expected_response)
|
|
68
78
|
|
|
69
79
|
datasource_utils.update_confluence_datasource(
|
|
70
80
|
datasource.id, full_reindex=True, skip_reindex=False
|
|
71
81
|
)
|
|
72
82
|
|
|
73
|
-
response = assistant_utils.ask_assistant(
|
|
83
|
+
response, triggered_tools = assistant_utils.ask_assistant(
|
|
84
|
+
assistant, prompt, minimal_response=False
|
|
85
|
+
)
|
|
86
|
+
assert_tool_triggered(Default.SEARCH_KB, triggered_tools)
|
|
74
87
|
similarity_check.check_similarity(response, expected_response)
|
|
75
88
|
|
|
76
89
|
|
|
77
90
|
@pytest.mark.datasource
|
|
78
91
|
@pytest.mark.confluence
|
|
79
|
-
@pytest.mark.
|
|
92
|
+
@pytest.mark.api
|
|
80
93
|
def test_edit_description_for_confluence_data_source(
|
|
81
94
|
client, confluence_datasource, datasource_utils
|
|
82
95
|
):
|
|
@@ -92,7 +105,7 @@ def test_edit_description_for_confluence_data_source(
|
|
|
92
105
|
|
|
93
106
|
@pytest.mark.datasource
|
|
94
107
|
@pytest.mark.confluence
|
|
95
|
-
@pytest.mark.
|
|
108
|
+
@pytest.mark.api
|
|
96
109
|
def test_create_confluence_datasource_with_existing_name(
|
|
97
110
|
datasource_utils, confluence_datasource
|
|
98
111
|
):
|