codemie-test-harness 0.1.120__tar.gz → 0.1.121__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.120 → codemie_test_harness-0.1.121}/PKG-INFO +2 -2
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/pyproject.toml +2 -2
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/conftest.py +4 -1
- codemie_test_harness-0.1.121/tests/test_data/direct_tools/project_management_tools_test_data.py +161 -0
- codemie_test_harness-0.1.121/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +262 -0
- codemie_test_harness-0.1.121/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +265 -0
- codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/README.md +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/cli.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/commands/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/constants.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/runner.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/codemie_test_harness/cli/utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/test_code_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/test_confluence_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/test_file_indexing.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/test_google_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/datasource/test_jira_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/test_assistants.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/datamanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/filemanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/notification/test_assistant_notification_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/openapi/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/e2e/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/e2e/test_e2e.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/enums/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/enums/integrations.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/enums/model_types.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/enums/tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/project/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/project/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/project/test_project_integrations.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/user/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/user/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/integrations/user/test_user_integrations.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/llm/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/llm/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/llm/assistants/test_llm.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/search/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/search/test_search_assistant.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/search/test_search_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/search/test_search_integration.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/search/test_search_workflow.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_assistant_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_datasource_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_integration_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_llm_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_task_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_user_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_workflow_execution_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/service/test_workflow_service.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/file_indexing_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-csv.csv +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-json.json +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-pdf.pdf +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-txt.txt +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-xml.xml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/large-files/large-yaml.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.csv +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.docx +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.gif +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.ini +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.jpeg +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.jpg +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.json +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.ods +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.pdf +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.png +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.pptx +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.txt +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.vtt +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.xlsx +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.xml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/test.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/files/video-file.mp4 +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/git_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/google_datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/index_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/integrations_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/llm_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/mcp_server_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/openapi.json +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/output_schema_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/plugin_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/pm_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/project_management_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_state_id.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/test_data/workflow_validation_messages.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/conftest.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/assistants/assistants_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/base_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/execution_history_row.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/header.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/pop_up.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/workflow_card.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/components/workflow_state_card.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/login_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/pageobject/workflows/workflows_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_create_workflow.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_edit_workflow.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_workflow_details.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_workflow_executions_page.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_workflow_templates.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/ui/test_workflows.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/assistant_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/aws_parameters_store.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/base_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/client_factory.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/constants.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/datasource_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/file_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/gitbud_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/http_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/integration_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/json_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/logger_util.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/notification_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/pytest_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/search_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/similarity_check.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/workflow_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/utils/yaml_utils.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/config_validation/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/config_validation/test_config_validation.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/__init__.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools → codemie_test_harness-0.1.121/tests/workflow/direct_tools_calling/default_integrations}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/test_workflows.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/ado → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools}/__init__.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/cloud → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/ado}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/default_integrations → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/cloud}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/git → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/default_integrations}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/mcp → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/git}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/plugin → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/mcp}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/research → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/plugin}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/servicenow → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/research}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
- {codemie_test_harness-0.1.120/tests/workflow/virtual_assistant_tools/vcs → codemie_test_harness-0.1.121/tests/workflow/virtual_assistant_tools/servicenow}/__init__.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.120 → codemie_test_harness-0.1.121}/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.121
|
|
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.121)
|
|
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)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "codemie-test-harness"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.121"
|
|
4
4
|
description = "Autotest for CodeMie backend and UI"
|
|
5
5
|
authors = [
|
|
6
6
|
"Anton Yeromin <anton_yeromin@epam.com>",
|
|
@@ -13,7 +13,7 @@ packages = [
|
|
|
13
13
|
|
|
14
14
|
[tool.poetry.dependencies]
|
|
15
15
|
python = "^3.12"
|
|
16
|
-
codemie-sdk-python = "0.1.
|
|
16
|
+
codemie-sdk-python = "0.1.121"
|
|
17
17
|
pytest = "^8.4.1"
|
|
18
18
|
python-dotenv = "^1.1.0"
|
|
19
19
|
PyHamcrest = "^2.1.0"
|
|
@@ -585,6 +585,7 @@ def workflow_with_tool(workflow):
|
|
|
585
585
|
tool_args=None,
|
|
586
586
|
integration=None,
|
|
587
587
|
datasource_ids=None,
|
|
588
|
+
project_name=None,
|
|
588
589
|
):
|
|
589
590
|
state_model = StateModel(id=tool_and_state_name, tool_id=tool_and_state_name)
|
|
590
591
|
|
|
@@ -596,7 +597,9 @@ def workflow_with_tool(workflow):
|
|
|
596
597
|
datasource_ids=datasource_ids,
|
|
597
598
|
)
|
|
598
599
|
|
|
599
|
-
return workflow(
|
|
600
|
+
return workflow(
|
|
601
|
+
tool_model=tool_model, state_model=state_model, project_name=project_name
|
|
602
|
+
)
|
|
600
603
|
|
|
601
604
|
return _create_workflow
|
|
602
605
|
|
codemie_test_harness-0.1.121/tests/test_data/direct_tools/project_management_tools_test_data.py
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
from tests.enums.tools import Toolkit, ProjectManagementTool
|
|
2
|
+
|
|
3
|
+
project_management_tools_data = [
|
|
4
|
+
(
|
|
5
|
+
Toolkit.PROJECT_MANAGEMENT,
|
|
6
|
+
ProjectManagementTool.JIRA,
|
|
7
|
+
{
|
|
8
|
+
"method": "GET",
|
|
9
|
+
"relative_url": "/rest/api/2/issue/EPMCDME-222",
|
|
10
|
+
"params": {},
|
|
11
|
+
},
|
|
12
|
+
"""
|
|
13
|
+
HTTP: GET /rest/api/2/issue/EPMCDME-222 -> 200 OK {"expand":"renderedFields,names,schema,operations,editmeta,
|
|
14
|
+
changelog,versionedRepresentations","id":"6959493","self":"https://jiraeu.epam.com/rest/api/2/issue/6959493",
|
|
15
|
+
"key":"EPMCDME-222","fields":{"customfield_38400":null,"customfield_38401":null,"customfield_38402":null,
|
|
16
|
+
"customfield_34834":null,"customfield_38403":null,"resolution":{"self":"https://jiraeu.epam.com/rest/api/2/
|
|
17
|
+
resolution/18","id":"18","description":"Resolution if a task or defect is no longer valid based on changes in
|
|
18
|
+
the system or requirements","name":"Obsolete"},"customfield_38404":null,"customfield_17702":null,"customfield_
|
|
19
|
+
38405":null,"customfield_38406":null,"customfield_32300":null,"customfield_22601":null,"lastViewed":null,"
|
|
20
|
+
customfield_38410":null,"labels":["CodeMie"],"customfield_17811":null,"customfield_33400":null,"customfield_
|
|
21
|
+
11700":null,"customfield_35700":null,"customfield_38407":null,"customfield_13206":"1.\r\n2.\r\n3.\r\n4.","
|
|
22
|
+
customfield_34732":null,"customfield_38408":null,"customfield_38409":null,"customfield_11701":null,"
|
|
23
|
+
aggregatetimeoriginalestimate":null,"issuelinks":[],"assignee":{"self":"https://jiraeu.epam.com/rest/api/2/user
|
|
24
|
+
?username=Vadym_Vlasenko%40epam.com","name":"Vadym_Vlasenko@epam.com","key":"vadym_vlasenko","emailAddress":"
|
|
25
|
+
Vadym_Vlasenko@epam.com","avatarUrls":{"48x48":"https://jiraeu.epam.com/secure/useravatar?ownerId=vadym_
|
|
26
|
+
vlasenko&avatarId=82922","24x24":"https://jiraeu.epam.com/secure/useravatar?size=small&ownerId=vadym_vlasenko&
|
|
27
|
+
avatarId=82922","16x16":"https://jiraeu.epam.com/secure/useravatar?size=xsmall&ownerId=vadym_vlasenko&avatarId=
|
|
28
|
+
82922","32x32":"https://jiraeu.epam.com/secure/useravatar?size=medium&ownerId=vadym_vlasenko&avatarId=82922"},
|
|
29
|
+
"displayName":"Vadym Vlasenko","active":true,"timeZone":"Etc/GMT"},"components":[],"customfield_31900":null,"
|
|
30
|
+
customfield_15500":null,"customfield_35706":null,"customfield_35705":null,"customfield_34859":null,"customfield_
|
|
31
|
+
35704":null,"customfield_35703":null,"customfield_35702":null,"customfield_15501":null,"customfield_17800":null,
|
|
32
|
+
"customfield_35701":null,"customfield_32200":null,"customfield_36800":null,"customfield_35710":null,"customfield_
|
|
33
|
+
32202":null,"customfield_32201":null,"customfield_30704":null,"subtasks":[],"reporter":{"self":"https://jiraeu.
|
|
34
|
+
epam.com/rest/api/2/user?username=Yana_Kharchenko%40epam.com","name":"Yana_Kharchenko@epam.com","key":"iana_gurska
|
|
35
|
+
","emailAddress":"Yana_Kharchenko@epam.com","avatarUrls":{"48x48":"https://jiraeu.epam.com/secure/useravatar?
|
|
36
|
+
ownerId=iana_gurska&avatarId=82512","24x24":"https://jiraeu.epam.com/secure/useravatar?size=small&ownerId=iana_
|
|
37
|
+
gurska&avatarId=82512","16x16":"https://jiraeu.epam.com/secure/useravatar?size=xsmall&ownerId=iana_gurska&
|
|
38
|
+
avatarId=82512","32x32":"https://jiraeu.epam.com/secure/useravatar?size=medium&ownerId=iana_gurska&avatarId=
|
|
39
|
+
82512"},"displayName":"Yana Kharchenko","active":true,"timeZone":"Europe/Kiev"},"customfield_32204":null,
|
|
40
|
+
"customfield_32203":null,"customfield_35720":null,"customfield_11801":null,"customfield_34873":null,"progress":
|
|
41
|
+
{"progress":0,"total":0},"votes":{"self":"https://jiraeu.epam.com/rest/api/2/issue/EPMCDME-222/votes","votes":0,
|
|
42
|
+
"hasVoted":false},"worklog":{"startAt":0,"maxResults":20,"total":0,"worklogs":[]},"archivedby":null,"issuetype":
|
|
43
|
+
{"self":"https://jiraeu.epam.com/rest/api/2/issuetype/6","id":"6","description":"Created by Jira Software - do
|
|
44
|
+
not edit or delete. Issue type for a big user story that needs to be broken down.","iconUrl":"https://jiraeu.
|
|
45
|
+
epam.com/secure/viewavatar?size=xsmall&avatarId=44407&avatarType=issuetype","name":"Epic","subtask":false,
|
|
46
|
+
"avatarId":44407},"project":{"self":"https://jiraeu.epam.com/rest/api/2/project/79608","id":"79608","key":
|
|
47
|
+
"EPMCDME","name":"EPM-CDME","projectTypeKey":"software","avatarUrls":{"48x48":"https://jiraeu.epam.com/secure/
|
|
48
|
+
projectavatar?avatarId=59003","24x24":"https://jiraeu.epam.com/secure/projectavatar?size=small&avatarId=59003",
|
|
49
|
+
"16x16":"https://jiraeu.epam.com/secure/projectavatar?size=xsmall&avatarId=59003","32x32":"https://jiraeu.epam.
|
|
50
|
+
com/secure/projectavatar?size=medium&avatarId=59003"}},"customfield_11000":null,"customfield_15602":null,
|
|
51
|
+
"customfield_13301":null,"customfield_34885":null,"customfield_34401":"0.0","customfield_34402":"0.0","customfield
|
|
52
|
+
_14504":null,"customfield_34400":null,"customfield_26100":null,"resolutiondate":"2024-06-21T23:10:11.256+0000","
|
|
53
|
+
customfield_26102":null,"customfield_30609":null,"customfield_32908":null,"watches":{"self":"https://jiraeu.epam.
|
|
54
|
+
com/rest/api/2/issue/EPMCDME-222/watchers","watchCount":1,"isWatching":false},"customfield_32905":null,"customfield
|
|
55
|
+
_30605":null,"customfield_30606":null,"customfield_32904":null,"customfield_23518":null,"customfield_32907":null,
|
|
56
|
+
\"customfield_30607":null,"customfield_32906":null,"customfield_30601":null,"customfield_30602":null,"customfield_
|
|
57
|
+
32903":null,"customfield_12200":null,"customfield_30603":null,"customfield_32902":null,"customfield_30604":null,"
|
|
58
|
+
customfield_34405":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/50316","value":"Undefined","id":
|
|
59
|
+
"50316","disabled":false},"customfield_14502":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/12805"
|
|
60
|
+
,"value":"Done","id":"12805","disabled":false},"customfield_14503":null,"customfield_14500":null,"customfield_12203
|
|
61
|
+
":null,"customfield_30600":null,"customfield_14501":"CodeMie: Large datasets and multiple knowledge bases",
|
|
62
|
+
"customfield_33323":null,"customfield_33200":null,"customfield_11900":null,"customfield_34895":null,"customfield_
|
|
63
|
+
37004":null,"customfield_37000":null,"updated":"2025-08-01T18:21:21.420+0000","customfield_25700":"2|hjyh9b:","
|
|
64
|
+
customfield_30616":null,"customfield_30617":null,"customfield_16110":null,"customfield_30618":null,"
|
|
65
|
+
timeoriginalestimate":null,"customfield_30612":null,"customfield_38102":null,"description":null,"customfield_
|
|
66
|
+
31701":null,"customfield_30613":null,"customfield_32911":null,"customfield_30614":null,"customfield_38104":null,
|
|
67
|
+
"customfield_38105":null,"customfield_19501":null,"customfield_38106":null,"customfield_38107":null,"customfield_
|
|
68
|
+
31700":null,"customfield_33325":null,"customfield_34898":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldO
|
|
69
|
+
ption/51124","value":"No","id":"51124","disabled":false},"customfield_30610":null,"customfield_38108":null,"
|
|
70
|
+
customfield_34899":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/51126","value":"No","id":"51126",
|
|
71
|
+
"disabled":false},"timetracking":{},"customfield_30611":null,"customfield_38109":null,"customfield_10005":null,"
|
|
72
|
+
customfield_34302":null,"customfield_34423":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/50322",
|
|
73
|
+
"value":"Emakina","id":"50322","disabled":false},"customfield_33334":["Vadym_Vlasenko@epam.com(vadym_vlasenko)","
|
|
74
|
+
Yana_Kharchenko@epam.com(iana_gurska)"],"customfield_15816":"0.0","customfield_34545":null,"customfield_33335":
|
|
75
|
+
null,"customfield_34300":null,"customfield_10800":"9223372036854775807","customfield_34422":{"self":"https://jiraeu
|
|
76
|
+
.epam.com/rest/api/2/customFieldOption/50320","value":"No","id":"50320","disabled":false},"customfield_34301":null,
|
|
77
|
+
"customfield_33333":"9223372036854775807","customfield_34541":null,"customfield_22900":null,"customfield_20600":
|
|
78
|
+
null,"summary":"CodeMie: Work with large datasets and multiple knowledge bases","customfield_38110":null,"
|
|
79
|
+
customfield_38111":null,"customfield_38112":null,"customfield_30502":null,"customfield_38113":null,"customfield_
|
|
80
|
+
30503":null,"customfield_38114":null,"customfield_38115":null,"customfield_38116":null,"customfield_10001":null,"
|
|
81
|
+
customfield_38117":null,"customfield_34549":null,"customfield_10002":null,"customfield_38118":null,"customfield_
|
|
82
|
+
30500":null,"customfield_33336":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/45742","value":"Open
|
|
83
|
+
","id":"45742","disabled":false},"customfield_34546":null,"customfield_38119":null,"customfield_10004":null,"
|
|
84
|
+
customfield_34547":null,"customfield_34556":null,"customfield_34553":null,"environment":null,"customfield_33100":"
|
|
85
|
+
N/A","duedate":null,"comment":{"comments":[],"maxResults":0,"total":0,"startAt":0},"customfield_15121":null,"
|
|
86
|
+
customfield_38120":null,"customfield_38122":null,"customfield_15120":null,"customfield_38123":null,"customfield_
|
|
87
|
+
38124":null,"customfield_17303":null,"customfield_38125":null,"customfield_38126":null,"fixVersions":[],"
|
|
88
|
+
customfield_38127":null,"customfield_15129":null,"customfield_38128":null,"customfield_11200":null,"customfield_
|
|
89
|
+
38129":null,"customfield_31600":"","customfield_21912":null,"customfield_38130":null,"customfield_32707":null,"
|
|
90
|
+
customfield_38131":null,"customfield_32706":null,"customfield_38132":null,"customfield_39100":null,"customfield_
|
|
91
|
+
38133":null,"customfield_38134":null,"customfield_15114":null,"customfield_32703":null,"customfield_38135":null,
|
|
92
|
+
"customfield_32702":null,"customfield_38136":null,"customfield_32705":null,"customfield_38137":null,"customfield_
|
|
93
|
+
32704":null,"customfield_38138":null,"priority":{"self":"https://jiraeu.epam.com/rest/api/2/priority/3","iconUrl":
|
|
94
|
+
"https://jiraeu.epam.com/images/icons/priorities/major.svg","name":"Major","id":"3"},"customfield_38139":null,"
|
|
95
|
+
customfield_30400":"{summaryBean=com.atlassian.jira.plugin.devstatus.rest.SummaryBean@1f97334[summary={pullrequest=
|
|
96
|
+
com.atlassian.jira.plugin.devstatus.rest.SummaryItemBean@38fa97ec[overall=PullRequestOverallBean{stateCount=0,
|
|
97
|
+
state='OPEN', details=PullRequestOverallDetails{openCount=0, mergedCount=0, declinedCount=0}},byInstanceType={}],
|
|
98
|
+
build=com.atlassian.jira.plugin.devstatus.rest.SummaryItemBean@55e68473[overall=com.atlassian.jira.plugin.
|
|
99
|
+
devstatus.summary.beans.BuildOverallBean@394f2cd4[failedBuildCount=0,successfulBuildCount=0,unknownBuildCount=0,
|
|
100
|
+
count=0,lastUpdated=<null>,lastUpdatedTimestamp=<null>],byInstanceType={}], review=com.atlassian.jira.plugin.
|
|
101
|
+
devstatus.rest.SummaryItemBean@7307fb9d[overall=com.atlassian.jira.plugin.devstatus.summary.beans.ReviewsOverall
|
|
102
|
+
Bean@d1656dc[stateCount=0,state=<null>,dueDate=<null>,overDue=false,count=0,lastUpdated=<null>,
|
|
103
|
+
lastUpdatedTimestamp=<null>],byInstanceType={}], deployment-environment=com.atlassian.jira.plugin.devstatus.rest.
|
|
104
|
+
SummaryItemBean@6c329e11[overall=com.atlassian.jira.plugin.devstatus.summary.beans.DeploymentOverallBean@2c5b36cf
|
|
105
|
+
[topEnvironments=[],showProjects=false,successfulCount=0,count=0,lastUpdated=<null>,lastUpdatedTimestamp=<null>],
|
|
106
|
+
byInstanceType={}], repository=com.atlassian.jira.plugin.devstatus.rest.SummaryItemBean@60ccfbca[overall=com.
|
|
107
|
+
atlassian.jira.plugin.devstatus.summary.beans.CommitOverallBean@5f53e1b9[count=0,lastUpdated=<null>,
|
|
108
|
+
lastUpdatedTimestamp=<null>],byInstanceType={}], branch=com.atlassian.jira.plugin.devstatus.rest.SummaryItem
|
|
109
|
+
Bean@27693e54[overall=com.atlassian.jira.plugin.devstatus.summary.beans.BranchOverallBean@52718938[count=0,
|
|
110
|
+
lastUpdated=<null>,lastUpdatedTimestamp=<null>],byInstanceType={}]},errors=[],configErrors=[]], devSummary
|
|
111
|
+
Json={\"cachedValue\":{\"errors\":[],\"configErrors\":[],\"summary\":{\"pullrequest\":{\"overall\":{\"count\":
|
|
112
|
+
0,\"lastUpdated\":null,\"stateCount\":0,\"state\":\"OPEN\",\"details\":{\"openCount\":0,\"mergedCount\":0,\"
|
|
113
|
+
declinedCount\":0,\"total\":0},\"open\":true},\"byInstanceType\":{}},\"build\":{\"overall\":{\"count\":0,\"
|
|
114
|
+
lastUpdated\":null,\"failedBuildCount\":0,\"successfulBuildCount\":0,\"unknownBuildCount\":0},\"byInstanceType\":
|
|
115
|
+
{}},\"review\":{\"overall\":{\"count\":0,\"lastUpdated\":null,\"stateCount\":0,\"state\":null,\"dueDate\":null,
|
|
116
|
+
\"overDue\":false,\"completed\":false},\"byInstanceType\":{}},\"deployment-environment\":{\"overall\":{\"count\":
|
|
117
|
+
0,\"lastUpdated\":null,\"topEnvironments\":[],\"showProjects\":false,\"successfulCount\":0},\"byInstanceType\":{}}
|
|
118
|
+
,\"repository\":{\"overall\":{\"count\":0,\"lastUpdated\":null},\"byInstanceType\":{}},\"branch\":{\"overall\":
|
|
119
|
+
{\"count\":0,\"lastUpdated\":null},\"byInstanceType\":{}}}},\"isStale\":true}}","customfield_35546":null,
|
|
120
|
+
"customfield_33002":null,"customfield_15109":null,"customfield_35785":null,"timeestimate":null,"versions":[],
|
|
121
|
+
"customfield_35540":null,"customfield_14817":null,"customfield_21901":null,"customfield_25500":null,"status":
|
|
122
|
+
{"self":"https://jiraeu.epam.com/rest/api/2/status/6","description":"The issue is considered finished, the
|
|
123
|
+
resolution is correct. Issues which are closed can be reopened.","iconUrl":"https://jiraeu.epam.com/images/icons
|
|
124
|
+
/statuses/closed.png","name":"Closed","id":"6","statusCategory":{"self":"https://jiraeu.epam.com/rest/api/2/
|
|
125
|
+
statuscategory/3","id":3,"key":"done","colorName":"success","name":"Done"}},"customfield_27804":null,"customfield_
|
|
126
|
+
38140":null,"customfield_33803":null,"customfield_35308":null,"customfield_35548":null,"archiveddate":null,"
|
|
127
|
+
customfield_35553":null,"aggregatetimeestimate":null,"customfield_24302":null,"customfield_28902":null,"
|
|
128
|
+
customfield_26603":null,"customfield_26604":null,"customfield_26607":null,"creator":{"self":"https://jiraeu.epam.
|
|
129
|
+
com/rest/api/2/user?username=Yana_Kharchenko%40epam.com","name":"Yana_Kharchenko@epam.com","key":"iana_gurska","
|
|
130
|
+
emailAddress":"Yana_Kharchenko@epam.com","avatarUrls":{"48x48":"https://jiraeu.epam.com/secure/useravatar?
|
|
131
|
+
ownerId=iana_gurska&avatarId=82512","24x24":"https://jiraeu.epam.com/secure/useravatar?size=small&ownerId=iana_
|
|
132
|
+
gurska&avatarId=82512","16x16":"https://jiraeu.epam.com/secure/useravatar?size=xsmall&ownerId=iana_gurska&avatar
|
|
133
|
+
Id=82512","32x32":"https://jiraeu.epam.com/secure/useravatar?size=medium&ownerId=iana_gurska&avatarId=82512"},"
|
|
134
|
+
displayName":"Yana Kharchenko","active":true,"timeZone":"Europe/Kiev"},"customfield_26606":null,"customfield_
|
|
135
|
+
38398":null,"customfield_38399":null,"customfield_34902":"(e.g. 16,6%)","customfield_34903":"(e.g. 100 € /
|
|
136
|
+
hour)","aggregateprogress":{"progress":0,"total":0},"customfield_30300":null,"customfield_34900":{"self":"
|
|
137
|
+
https://jiraeu.epam.com/rest/api/2/customFieldOption/51127","value":"Emakina Group","id":"51127","disabled":
|
|
138
|
+
true},"customfield_34901":"https://share.emakina.net/display/PT/Our+supplier","customfield_30301":null,"
|
|
139
|
+
customfield_18601":null,"customfield_25400":null,"customfield_25401":null,"timespent":null,"customfield_30317":
|
|
140
|
+
null,"customfield_15200":null,"customfield_35208":{"self":"https://jiraeu.epam.com/rest/api/2/customFieldOption/
|
|
141
|
+
52203","value":"All browsers","id":"52203","disabled":false},"customfield_19006":null,"aggregatetimespent":null,"
|
|
142
|
+
customfield_19008":null,"customfield_15205":null,"customfield_35215":null,"customfield_35213":null,"customfield_
|
|
143
|
+
36303":null,"customfield_35214":null,"customfield_30200":null,"customfield_36302":null,"customfield_36300":null,"
|
|
144
|
+
workratio":-1,"customfield_24200":null,"created":"2024-03-07T10:17:49.655+0000","customfield_32505":null,"
|
|
145
|
+
customfield_32506":"1_*:*_1_*:*_9204741626_*|*_6_*:*_1_*:*_0","customfield_35219":{"self":"https://jiraeu.epam.
|
|
146
|
+
com/rest/api/2/customFieldOption/52236","value":"No","id":"52236","disabled":false},"customfield_30201":[],"
|
|
147
|
+
customfield_34801":null,"customfield_36309":null,"customfield_30202":null,"customfield_30203":null,"customfield_
|
|
148
|
+
10300":null,"customfield_34800":null,"customfield_35220":{"self":"https://jiraeu.epam.com/rest/api/2/custom
|
|
149
|
+
FieldOption/52238","value":"EUR","id":"52238","disabled":false},"customfield_35221":"- Boeken\r\n-
|
|
150
|
+
Bedrijfsstempel\r\n- Fijne stiftjes voor workshops\r\n- Grote meetingroom post it’s\r\n- Schilmesjes\r\n-
|
|
151
|
+
Ladeblokken\r\n- Aangepaste bureaustoel\r\n- Klanten geschenken\r\n- Pizza’s voor pizzasessies\r\n-
|
|
152
|
+
Ontsmettende handgel\r\n- Voetenbankje\r\n- … ","customfield_29900":"0","customfield_34815":null,"
|
|
153
|
+
customfield_34812":"9223372036854775807","customfield_33602":null,"customfield_13004":null,"customfield_33603":
|
|
154
|
+
null,"customfield_15303":null,"customfield_33600":null,"customfield_34931":null,"customfield_33601":null,"
|
|
155
|
+
customfield_17723":null,"customfield_34940":null,"customfield_12701":"1_*:*_1_*:*_9204741626_*|*_6_*:*_1_*:*_0","
|
|
156
|
+
customfield_36327":null,"customfield_12700":null,"customfield_17718":null,"customfield_36202":null,"attachment":[]
|
|
157
|
+
,"customfield_36681":null,"customfield_30900":null,"customfield_30901":null,"customfield_17715":null,"customfield
|
|
158
|
+
_17713":null,"customfield_27500":null}}
|
|
159
|
+
""",
|
|
160
|
+
),
|
|
161
|
+
]
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
from codemie_sdk.models.integration import (
|
|
6
|
+
CredentialTypes,
|
|
7
|
+
IntegrationType,
|
|
8
|
+
)
|
|
9
|
+
from tests import PROJECT
|
|
10
|
+
from tests.integrations import integrations
|
|
11
|
+
from tests.enums.tools import ProjectManagementTool
|
|
12
|
+
from tests.test_data.direct_tools.project_management_tools_test_data import (
|
|
13
|
+
project_management_tools_data,
|
|
14
|
+
)
|
|
15
|
+
from tests.utils.aws_parameters_store import CredentialsUtil
|
|
16
|
+
from tests.utils.base_utils import get_random_name
|
|
17
|
+
from tests.utils.constants import test_project_name
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
jira_tool_prompt = project_management_tools_data[0][2]
|
|
21
|
+
jira_tool_response = project_management_tools_data[0][3]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@pytest.mark.not_for_parallel_run
|
|
25
|
+
@pytest.mark.regression
|
|
26
|
+
@pytest.mark.tescase("EPMCDME-6708")
|
|
27
|
+
@pytest.mark.parametrize(
|
|
28
|
+
"user_integration, is_global, project_integration",
|
|
29
|
+
integrations,
|
|
30
|
+
ids=[
|
|
31
|
+
f"{row[0].value}-{'global' if row[1] else 'None'}-{row[2].value if row[2] else 'None'}"
|
|
32
|
+
for row in integrations
|
|
33
|
+
],
|
|
34
|
+
)
|
|
35
|
+
def test_tool_in_workflow_should_use_user_integration_by_default(
|
|
36
|
+
integration_utils,
|
|
37
|
+
similarity_check,
|
|
38
|
+
user_integration,
|
|
39
|
+
is_global,
|
|
40
|
+
project_integration,
|
|
41
|
+
workflow_with_tool,
|
|
42
|
+
workflow_utils,
|
|
43
|
+
):
|
|
44
|
+
"""
|
|
45
|
+
Test to verify that an assistant should use USER integration by default
|
|
46
|
+
if integration of all types [USER, GLOBAL, PROJECT] are available.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
for integration_type in IntegrationType:
|
|
50
|
+
integration_utils.delete_integrations_by_type(
|
|
51
|
+
integration_type, CredentialTypes.JIRA
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
integration_utils.create_user_integration(
|
|
55
|
+
CredentialTypes.JIRA, CredentialsUtil.jira_credentials(), test_project_name
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
if is_global:
|
|
59
|
+
integration_utils.create_global_integration(
|
|
60
|
+
CredentialTypes.JIRA,
|
|
61
|
+
CredentialsUtil.invalid_jira_credentials(),
|
|
62
|
+
test_project_name,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
if project_integration:
|
|
66
|
+
integration_utils.create_project_integration(
|
|
67
|
+
CredentialTypes.JIRA,
|
|
68
|
+
CredentialsUtil.invalid_jira_credentials(),
|
|
69
|
+
test_project_name,
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
assistant_and_state_name = get_random_name()
|
|
73
|
+
|
|
74
|
+
test_workflow = workflow_with_tool(
|
|
75
|
+
assistant_and_state_name,
|
|
76
|
+
ProjectManagementTool.JIRA,
|
|
77
|
+
project_name=test_project_name,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
response = workflow_utils.execute_workflow(
|
|
81
|
+
test_workflow.id,
|
|
82
|
+
assistant_and_state_name,
|
|
83
|
+
user_input=json.dumps(jira_tool_prompt),
|
|
84
|
+
)
|
|
85
|
+
similarity_check.check_similarity(response, jira_tool_response, 95)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@pytest.mark.not_for_parallel_run
|
|
89
|
+
@pytest.mark.regression
|
|
90
|
+
@pytest.mark.tescase("EPMCDME-6708")
|
|
91
|
+
def test_tool_in_workflow_with_global_and_project_integration(
|
|
92
|
+
integration_utils,
|
|
93
|
+
similarity_check,
|
|
94
|
+
workflow_with_tool,
|
|
95
|
+
workflow_utils,
|
|
96
|
+
):
|
|
97
|
+
"""
|
|
98
|
+
Test to verify that an assistant should use GLOBAL integration if USER integration is not available,
|
|
99
|
+
and both GLOBAL and PROJECT integrations exist.
|
|
100
|
+
GLOBAL integration has valid credentials, PROJECT has invalid.
|
|
101
|
+
"""
|
|
102
|
+
for integration_type in IntegrationType:
|
|
103
|
+
integration_utils.delete_integrations_by_type(
|
|
104
|
+
integration_type, CredentialTypes.JIRA
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
# Create only global (valid) and project (invalid) integrations.
|
|
108
|
+
# Global integration is created in project which is different from the project of the assistant.
|
|
109
|
+
integration_utils.create_global_integration(
|
|
110
|
+
CredentialTypes.JIRA, CredentialsUtil.jira_credentials(), PROJECT
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
integration_utils.create_project_integration(
|
|
114
|
+
CredentialTypes.JIRA,
|
|
115
|
+
CredentialsUtil.invalid_jira_credentials(),
|
|
116
|
+
test_project_name,
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
assistant_and_state_name = get_random_name()
|
|
120
|
+
|
|
121
|
+
test_workflow = workflow_with_tool(
|
|
122
|
+
assistant_and_state_name,
|
|
123
|
+
ProjectManagementTool.JIRA,
|
|
124
|
+
project_name=test_project_name,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
response = workflow_utils.execute_workflow(
|
|
128
|
+
test_workflow.id,
|
|
129
|
+
assistant_and_state_name,
|
|
130
|
+
user_input=json.dumps(jira_tool_prompt),
|
|
131
|
+
)
|
|
132
|
+
similarity_check.check_similarity(response, jira_tool_response, 95)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
@pytest.mark.not_for_parallel_run
|
|
136
|
+
@pytest.mark.regression
|
|
137
|
+
@pytest.mark.tescase("EPMCDME-6708")
|
|
138
|
+
def test_tool_in_workflow_with_project_integration_only(
|
|
139
|
+
integration_utils,
|
|
140
|
+
similarity_check,
|
|
141
|
+
workflow_with_tool,
|
|
142
|
+
workflow_utils,
|
|
143
|
+
):
|
|
144
|
+
"""
|
|
145
|
+
Test to verify that an assistant should use PROJECT integration if it is the only one available.
|
|
146
|
+
"""
|
|
147
|
+
for integration_type in IntegrationType:
|
|
148
|
+
integration_utils.delete_integrations_by_type(
|
|
149
|
+
integration_type, CredentialTypes.JIRA
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
# Create project integration only
|
|
153
|
+
integration_utils.create_project_integration(
|
|
154
|
+
CredentialTypes.JIRA, CredentialsUtil.jira_credentials(), test_project_name
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
assistant_and_state_name = get_random_name()
|
|
158
|
+
|
|
159
|
+
test_workflow = workflow_with_tool(
|
|
160
|
+
assistant_and_state_name,
|
|
161
|
+
ProjectManagementTool.JIRA,
|
|
162
|
+
project_name=test_project_name,
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
response = workflow_utils.execute_workflow(
|
|
166
|
+
test_workflow.id,
|
|
167
|
+
assistant_and_state_name,
|
|
168
|
+
user_input=json.dumps(jira_tool_prompt),
|
|
169
|
+
)
|
|
170
|
+
similarity_check.check_similarity(response, jira_tool_response, 95)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
@pytest.mark.not_for_parallel_run
|
|
174
|
+
@pytest.mark.regression
|
|
175
|
+
def test_tool_in_workflow_with_global_valid_and_user_invalid_integration(
|
|
176
|
+
integration_utils,
|
|
177
|
+
similarity_check,
|
|
178
|
+
workflow_with_tool,
|
|
179
|
+
workflow_utils,
|
|
180
|
+
):
|
|
181
|
+
"""
|
|
182
|
+
Test to verify that an assistant should use GLOBAL integration if USER integration is not valid,
|
|
183
|
+
and both GLOBAL and USER integrations exist.
|
|
184
|
+
GLOBAL integration has valid credentials, USER has invalid.
|
|
185
|
+
"""
|
|
186
|
+
for integration_type in IntegrationType:
|
|
187
|
+
integration_utils.delete_integrations_by_type(
|
|
188
|
+
integration_type, CredentialTypes.JIRA
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
# Create global valid integration.
|
|
192
|
+
integration_utils.create_global_integration(
|
|
193
|
+
CredentialTypes.JIRA, CredentialsUtil.jira_credentials(), PROJECT
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
# Create user invalid integration.
|
|
197
|
+
integration_utils.create_user_integration(
|
|
198
|
+
CredentialTypes.JIRA,
|
|
199
|
+
CredentialsUtil.invalid_jira_credentials(),
|
|
200
|
+
PROJECT,
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
assistant_and_state_name = get_random_name()
|
|
204
|
+
|
|
205
|
+
test_workflow = workflow_with_tool(
|
|
206
|
+
assistant_and_state_name,
|
|
207
|
+
ProjectManagementTool.JIRA,
|
|
208
|
+
project_name=test_project_name,
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
response = workflow_utils.execute_workflow(
|
|
212
|
+
test_workflow.id,
|
|
213
|
+
assistant_and_state_name,
|
|
214
|
+
user_input=json.dumps(jira_tool_prompt),
|
|
215
|
+
)
|
|
216
|
+
similarity_check.check_similarity(response, jira_tool_response, 95)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
@pytest.mark.not_for_parallel_run
|
|
220
|
+
@pytest.mark.regression
|
|
221
|
+
def test_tool_in_workflow_with_project_valid_and_user_invalid_integration(
|
|
222
|
+
integration_utils,
|
|
223
|
+
similarity_check,
|
|
224
|
+
workflow_with_tool,
|
|
225
|
+
workflow_utils,
|
|
226
|
+
):
|
|
227
|
+
"""
|
|
228
|
+
Test to verify that an assistant should use PROJECT integration if USER integration is not valid,
|
|
229
|
+
and both PROJECT and USER integrations exist.
|
|
230
|
+
PROJECT integration has valid credentials, USER has invalid.
|
|
231
|
+
"""
|
|
232
|
+
for integration_type in IntegrationType:
|
|
233
|
+
integration_utils.delete_integrations_by_type(
|
|
234
|
+
integration_type, CredentialTypes.JIRA
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
# Create project valid integration.
|
|
238
|
+
integration_utils.create_project_integration(
|
|
239
|
+
CredentialTypes.JIRA, CredentialsUtil.jira_credentials(), test_project_name
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
# Create user invalid integration.
|
|
243
|
+
integration_utils.create_user_integration(
|
|
244
|
+
CredentialTypes.JIRA,
|
|
245
|
+
CredentialsUtil.invalid_jira_credentials(),
|
|
246
|
+
PROJECT,
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
assistant_and_state_name = get_random_name()
|
|
250
|
+
|
|
251
|
+
test_workflow = workflow_with_tool(
|
|
252
|
+
assistant_and_state_name,
|
|
253
|
+
ProjectManagementTool.JIRA,
|
|
254
|
+
project_name=test_project_name,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
response = workflow_utils.execute_workflow(
|
|
258
|
+
test_workflow.id,
|
|
259
|
+
assistant_and_state_name,
|
|
260
|
+
user_input=json.dumps(jira_tool_prompt),
|
|
261
|
+
)
|
|
262
|
+
similarity_check.check_similarity(response, jira_tool_response, 95)
|