codemie-test-harness 0.1.166__tar.gz → 0.1.168__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.
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/PKG-INFO +2 -2
- codemie_test_harness-0.1.168/codemie_test_harness/tests/assistant/tools/mcp/test_single_assistant_dual_time_plugins.py +160 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/plugin_tools_test_data.py +33 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/base_page.py +24 -24
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +2 -2
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/execution_history_row.py +3 -3
- codemie_test_harness-0.1.166/codemie_test_harness/tests/ui/pageobject/components/header.py → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/pageobject/components/menu.py +57 -111
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +2 -2
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +7 -10
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_history_item.py +9 -9
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_state.py +1 -1
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +16 -16
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/base_workflow_form_page.py +32 -65
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/create_workflow_page.py +4 -4
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/edit_workflow_page.py +6 -4
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_details_page.py +32 -61
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_executions_page.py +17 -23
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_template_details.py +5 -11
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_templates_page.py +5 -2
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +3 -5
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_create_workflow.py +12 -33
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_edit_workflow.py +14 -34
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_workflow_details.py +11 -11
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_workflow_executions_page.py +0 -2
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_workflow_templates.py +0 -2
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/ui → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/test_workflows.py +8 -6
- codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/pyproject.toml +2 -2
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/README.md +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/.env +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/cli.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/commands/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/constants.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/runner.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/cli/utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/pytest.ini +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/conftest.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/conversations/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/e2e/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/enums/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/enums/environment.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/enums/integrations.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/enums/model_types.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/enums/tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/llm/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/llm/assistants/test_llm.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/providers/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/search/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_task_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_user_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/large-files/large_file.txt +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.json +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.png +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/git_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/google_datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/mcp_server_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/openapi.json +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/output_schema_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/pm_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/project_management_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/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.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/conftest.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/components/workflow_state_card.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/utils → codemie_test_harness-0.1.168/codemie_test_harness/tests/ui/workflows}/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow → codemie_test_harness-0.1.168/codemie_test_harness/tests/utils}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/assistant_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/base_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/client_factory.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/constants.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/env_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/file_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/http_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/json_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/logger_util.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/search_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/user_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow}/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/access_management → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools}/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/ado → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/access_management}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/cloud → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/ado}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/codebase → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/cloud}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/data_management → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/codebase}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/default_integrations → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/data_management}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/git → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/default_integrations}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/mcp → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/git}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/notification → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/mcp}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/plugin → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/notification}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/project_management → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/plugin}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/report_portal → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/project_management}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/research → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/report_portal}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/servicenow → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/research}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/assistant_tools/vcs → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/servicenow}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/config_validation → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/assistant_tools/vcs}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/direct_tools_calling → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/config_validation}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/direct_tools_calling}/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools}/__init__.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/git → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/git}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/research → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/research}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
- {codemie_test_harness-0.1.166/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs → codemie_test_harness-0.1.168/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow}/__init__.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.166 → codemie_test_harness-0.1.168}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: codemie-test-harness
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.168
|
|
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.168)
|
|
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)
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This test verifies that a single assistant can have multiple instances of the same
|
|
3
|
+
MCP server plugin running with different configurations under the same plugin-key.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import json
|
|
7
|
+
import os
|
|
8
|
+
import subprocess
|
|
9
|
+
import uuid
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
from time import sleep
|
|
12
|
+
from typing import Tuple, List
|
|
13
|
+
|
|
14
|
+
import pytest
|
|
15
|
+
|
|
16
|
+
from codemie_test_harness.tests.enums.tools import Toolkit
|
|
17
|
+
from codemie_sdk.models.integration import CredentialTypes
|
|
18
|
+
from codemie_test_harness.tests.conftest import cleanup_plugin_process
|
|
19
|
+
from codemie_test_harness.tests.test_data.plugin_tools_test_data import (
|
|
20
|
+
dual_time_plugin_test_data,
|
|
21
|
+
)
|
|
22
|
+
from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
CACHE_DIR = Path.home() / ".cache" / "uv" / "archive-v0"
|
|
26
|
+
SERVERS_JSON_PATH = "lib/python3.12/site-packages/toolkits/mcp/servers.json"
|
|
27
|
+
CODEMIE_PLUGINS_PATH = "bin/codemie-plugins"
|
|
28
|
+
PLUGIN_INIT_DELAY = 15
|
|
29
|
+
|
|
30
|
+
TIME_CONFIGS = {
|
|
31
|
+
"time-kyiv": {"timezone": "Europe/Kiev", "label": "time-kyiv"},
|
|
32
|
+
"time-tokyo": {"timezone": "Asia/Tokyo", "label": "time-tokyo"},
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def find_cache_paths() -> Tuple[Path, Path]:
|
|
37
|
+
"""Find required cache paths for servers.json and codemie-plugins."""
|
|
38
|
+
for cache_subdir in CACHE_DIR.glob("*"):
|
|
39
|
+
if not cache_subdir.is_dir():
|
|
40
|
+
continue
|
|
41
|
+
|
|
42
|
+
servers_json = cache_subdir / SERVERS_JSON_PATH
|
|
43
|
+
codemie_plugins = cache_subdir / CODEMIE_PLUGINS_PATH
|
|
44
|
+
|
|
45
|
+
if servers_json.exists() and codemie_plugins.exists():
|
|
46
|
+
return servers_json, codemie_plugins
|
|
47
|
+
|
|
48
|
+
raise FileNotFoundError("Required cache files not found")
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def configure_mcp_servers(servers_json_path: Path) -> None:
|
|
52
|
+
"""Configure MCP servers in servers.json."""
|
|
53
|
+
with open(servers_json_path, "r+") as f:
|
|
54
|
+
config = json.load(f)
|
|
55
|
+
mcp_servers = config.get("mcpServers", {})
|
|
56
|
+
|
|
57
|
+
for server_name, server_config in TIME_CONFIGS.items():
|
|
58
|
+
if server_name not in mcp_servers:
|
|
59
|
+
mcp_servers[server_name] = {
|
|
60
|
+
"command": "uvx",
|
|
61
|
+
"args": [
|
|
62
|
+
"mcp-server-time",
|
|
63
|
+
f"--local-timezone={server_config['timezone']}",
|
|
64
|
+
],
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
f.seek(0)
|
|
68
|
+
json.dump(config, f, indent=2)
|
|
69
|
+
f.truncate()
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def create_plugin_process(
|
|
73
|
+
server_name: str, plugin_key: str, codemie_plugins_path: Path
|
|
74
|
+
) -> subprocess.Popen:
|
|
75
|
+
"""Create a plugin process for given server configuration."""
|
|
76
|
+
config = TIME_CONFIGS[server_name]
|
|
77
|
+
|
|
78
|
+
env = os.environ.copy()
|
|
79
|
+
env.update(
|
|
80
|
+
{"PLUGIN_LABEL": config["label"], "PLUGIN_EXPERIMENTAL_PROTOCOL": "true"}
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
command = [
|
|
84
|
+
str(codemie_plugins_path),
|
|
85
|
+
"--plugin-key",
|
|
86
|
+
plugin_key,
|
|
87
|
+
"--plugin-engine-uri",
|
|
88
|
+
CredentialsManager.get_parameter("NATS_URL"),
|
|
89
|
+
"mcp",
|
|
90
|
+
"run",
|
|
91
|
+
"-s",
|
|
92
|
+
server_name,
|
|
93
|
+
"-e",
|
|
94
|
+
f"{server_name}=PLUGIN_LABEL",
|
|
95
|
+
]
|
|
96
|
+
|
|
97
|
+
return subprocess.Popen(command, env=env)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def cleanup_processes(processes: List[subprocess.Popen]) -> None:
|
|
101
|
+
"""Clean up all managed processes."""
|
|
102
|
+
for process in processes:
|
|
103
|
+
cleanup_plugin_process(process)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
@pytest.fixture(scope="module")
|
|
107
|
+
def dual_time_plugins(integration_utils):
|
|
108
|
+
"""Create two time plugin instances with different configurations."""
|
|
109
|
+
plugin_key = str(uuid.uuid4())
|
|
110
|
+
processes = []
|
|
111
|
+
|
|
112
|
+
# Setup integration
|
|
113
|
+
credential_values = CredentialsManager.plugin_credentials(plugin_key)
|
|
114
|
+
settings = integration_utils.create_integration(
|
|
115
|
+
credential_type=CredentialTypes.PLUGIN, credential_values=credential_values
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# Download codemie-tools
|
|
119
|
+
download_process = subprocess.Popen(["uvx", "codemie-tools"])
|
|
120
|
+
processes.append(download_process)
|
|
121
|
+
|
|
122
|
+
# Find paths and configure servers
|
|
123
|
+
servers_json_path, codemie_plugins_path = find_cache_paths()
|
|
124
|
+
configure_mcp_servers(servers_json_path)
|
|
125
|
+
|
|
126
|
+
# Start plugin processes for each time config
|
|
127
|
+
for server_name in TIME_CONFIGS.keys():
|
|
128
|
+
process = create_plugin_process(server_name, plugin_key, codemie_plugins_path)
|
|
129
|
+
processes.append(process)
|
|
130
|
+
|
|
131
|
+
# Wait for plugin initialization
|
|
132
|
+
sleep(PLUGIN_INIT_DELAY)
|
|
133
|
+
|
|
134
|
+
yield settings
|
|
135
|
+
cleanup_processes(processes)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
@pytest.mark.assistant
|
|
139
|
+
@pytest.mark.mcp
|
|
140
|
+
@pytest.mark.plugin
|
|
141
|
+
@pytest.mark.regression
|
|
142
|
+
@pytest.mark.parametrize(
|
|
143
|
+
"prompt,expected_response",
|
|
144
|
+
dual_time_plugin_test_data,
|
|
145
|
+
ids=["Get Tools Available", "Get Kyiv time", "Get Tokyo time"],
|
|
146
|
+
)
|
|
147
|
+
def test_single_assistant_dual_time_plugins(
|
|
148
|
+
dual_time_plugins,
|
|
149
|
+
assistant_utils,
|
|
150
|
+
assistant,
|
|
151
|
+
similarity_check,
|
|
152
|
+
prompt,
|
|
153
|
+
expected_response,
|
|
154
|
+
):
|
|
155
|
+
assistant_instance = assistant(
|
|
156
|
+
Toolkit.PLUGIN, Toolkit.PLUGIN, settings=dual_time_plugins
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
response = assistant_utils.ask_assistant(assistant_instance, prompt)
|
|
160
|
+
similarity_check.check_similarity(response, expected_response)
|
|
@@ -73,3 +73,36 @@ CREATE_READ_DELETE_FILE_TEST_DATA = {
|
|
|
73
73
|
"remove_file_prompt": "execute command: git rm -f {}.properties",
|
|
74
74
|
"remove_file_response": "The file `{}.properties` has been removed from the git repository.",
|
|
75
75
|
}
|
|
76
|
+
|
|
77
|
+
"""Test data for dual time plugin MCP server tests."""
|
|
78
|
+
|
|
79
|
+
dual_time_plugin_test_data = [
|
|
80
|
+
(
|
|
81
|
+
"Show tools with their name and description",
|
|
82
|
+
"""
|
|
83
|
+
Sure, here are the tools available with their name and description:
|
|
84
|
+
|
|
85
|
+
1. **functions._get_current_time_2f90**:
|
|
86
|
+
- **Description**: Get current time in a specific timezone. If no timezone is provided by the user, it uses 'Asia/Tokyo' as the local timezone.
|
|
87
|
+
|
|
88
|
+
2. **functions._convert_time_2f90**:
|
|
89
|
+
- **Description**: Convert time between timezones. If no source timezone is provided by the user, it uses 'Asia/Tokyo' as the local timezone. Similarly, if no target timezone is provided, it uses 'Asia/Tokyo' as the local timezone.
|
|
90
|
+
|
|
91
|
+
3. **functions._get_current_time_5cba**:
|
|
92
|
+
- **Description**: Similar to `_get_current_time_2f90`, this gets the current time in a specific timezone, defaulting to 'Asia/Tokyo' if no timezone is provided.
|
|
93
|
+
|
|
94
|
+
4. **functions._convert_time_5cba**:
|
|
95
|
+
- **Description**: Similar to `_convert_time_2f90`, this converts time between timezones, defaulting to 'Asia/Tokyo' if no source or target timezone is provided.
|
|
96
|
+
|
|
97
|
+
These tools are designed to help manage and convert timezone-related data efficiently.
|
|
98
|
+
""",
|
|
99
|
+
),
|
|
100
|
+
(
|
|
101
|
+
"What is the current time in Kyiv? Return in format: The current time in Kyiv (Europe/Kiev timezone) is: $time_here",
|
|
102
|
+
"The current time in Kyiv (Europe/Kiev timezone) is",
|
|
103
|
+
),
|
|
104
|
+
(
|
|
105
|
+
"What is the current time in Tokyo? Return in format: The current time in Tokyo (Asia/Tokyo timezone) is: $time_here",
|
|
106
|
+
"The current time in Tokyo (Asia/Tokyo timezone) is",
|
|
107
|
+
),
|
|
108
|
+
]
|
|
@@ -4,7 +4,7 @@ from playwright.sync_api import expect
|
|
|
4
4
|
from reportportal_client import step
|
|
5
5
|
|
|
6
6
|
from codemie_test_harness.tests.ui.pageobject.components.pop_up import PopUp
|
|
7
|
-
from codemie_test_harness.tests.ui.pageobject.components.
|
|
7
|
+
from codemie_test_harness.tests.ui.pageobject.components.menu import Menu
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class BasePage:
|
|
@@ -16,7 +16,7 @@ class BasePage:
|
|
|
16
16
|
# Component properties using @property decorator
|
|
17
17
|
@property
|
|
18
18
|
def back_button(self):
|
|
19
|
-
"""Back button in the
|
|
19
|
+
"""Back button in the menu."""
|
|
20
20
|
return self.page.locator(
|
|
21
21
|
'//div[not(contains(@class,"justify-end"))]/button[contains(@class,"secondary medium")]'
|
|
22
22
|
).first
|
|
@@ -27,9 +27,9 @@ class BasePage:
|
|
|
27
27
|
return PopUp(self.page)
|
|
28
28
|
|
|
29
29
|
@property
|
|
30
|
-
def
|
|
31
|
-
"""
|
|
32
|
-
return
|
|
30
|
+
def menu(self):
|
|
31
|
+
"""Menu component instance."""
|
|
32
|
+
return Menu(self.page)
|
|
33
33
|
|
|
34
34
|
# Common page elements
|
|
35
35
|
@property
|
|
@@ -55,44 +55,44 @@ class BasePage:
|
|
|
55
55
|
# Navigation methods
|
|
56
56
|
@step
|
|
57
57
|
def go_to_workflows_page(self):
|
|
58
|
-
"""Navigate to workflows page using
|
|
59
|
-
self.
|
|
58
|
+
"""Navigate to workflows page using menu navigation."""
|
|
59
|
+
self.menu.navigate_to_workflows()
|
|
60
60
|
return self
|
|
61
61
|
|
|
62
62
|
@step
|
|
63
63
|
def go_to_assistants_page(self):
|
|
64
|
-
"""Navigate to assistants page using
|
|
65
|
-
self.
|
|
64
|
+
"""Navigate to assistants page using menu navigation."""
|
|
65
|
+
self.menu.navigate_to_assistants()
|
|
66
66
|
return self
|
|
67
67
|
|
|
68
68
|
@step
|
|
69
69
|
def go_to_chats_page(self):
|
|
70
|
-
"""Navigate to chats page using
|
|
71
|
-
self.
|
|
70
|
+
"""Navigate to chats page using menu navigation."""
|
|
71
|
+
self.menu.navigate_to_chats()
|
|
72
72
|
return self
|
|
73
73
|
|
|
74
74
|
@step
|
|
75
75
|
def go_to_applications_page(self):
|
|
76
|
-
"""Navigate to applications page using
|
|
77
|
-
self.
|
|
76
|
+
"""Navigate to applications page using menu navigation."""
|
|
77
|
+
self.menu.navigate_to_applications()
|
|
78
78
|
return self
|
|
79
79
|
|
|
80
80
|
@step
|
|
81
81
|
def go_to_integrations_page(self):
|
|
82
|
-
"""Navigate to integrations page using
|
|
83
|
-
self.
|
|
82
|
+
"""Navigate to integrations page using menu navigation."""
|
|
83
|
+
self.menu.navigate_to_integrations()
|
|
84
84
|
return self
|
|
85
85
|
|
|
86
86
|
@step
|
|
87
87
|
def go_to_data_sources_page(self):
|
|
88
|
-
"""Navigate to data sources page using
|
|
89
|
-
self.
|
|
88
|
+
"""Navigate to data sources page using menu navigation."""
|
|
89
|
+
self.menu.navigate_to_data_sources()
|
|
90
90
|
return self
|
|
91
91
|
|
|
92
92
|
@step
|
|
93
93
|
def go_to_help_page(self):
|
|
94
|
-
"""Navigate to help page using
|
|
95
|
-
self.
|
|
94
|
+
"""Navigate to help page using menu navigation."""
|
|
95
|
+
self.menu.navigate_to_help()
|
|
96
96
|
return self
|
|
97
97
|
|
|
98
98
|
# Pop-up interaction methods
|
|
@@ -164,10 +164,10 @@ class BasePage:
|
|
|
164
164
|
"""Verify that the new release popup is visible with expected content."""
|
|
165
165
|
expect(self.pop_up.cancel).to_have_text("Got It, Thanks!")
|
|
166
166
|
expect(self.pop_up.submit).to_have_text("Tell Me More")
|
|
167
|
-
expect(self.pop_up.
|
|
167
|
+
expect(self.pop_up.menu).to_have_text("New CodeMie Release")
|
|
168
168
|
expect(self.pop_up.body).to_have_text(
|
|
169
169
|
re.compile(
|
|
170
|
-
r"Great news! We've rolled out new CodeMie version
|
|
170
|
+
r"Great news! We've rolled out new CodeMie version 2.\d.\d+ to enhance your experience. Take a moment to "
|
|
171
171
|
"explore what's new and discover how these changes can benefit you! Please review Release Notes!"
|
|
172
172
|
)
|
|
173
173
|
)
|
|
@@ -182,9 +182,9 @@ class BasePage:
|
|
|
182
182
|
|
|
183
183
|
# Common verification methods
|
|
184
184
|
@step
|
|
185
|
-
def
|
|
186
|
-
"""Verify that the
|
|
187
|
-
self.
|
|
185
|
+
def should_have_menu_visible(self):
|
|
186
|
+
"""Verify that the menu is visible."""
|
|
187
|
+
self.menu.should_be_visible()
|
|
188
188
|
return self
|
|
189
189
|
|
|
190
190
|
@step
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .workflow_card import WorkflowCard
|
|
2
2
|
from .pop_up import PopUp
|
|
3
|
-
from .
|
|
3
|
+
from .menu import Menu
|
|
4
4
|
from .workflow_sidebar import WorkflowSidebar
|
|
5
5
|
from .execution_history_row import ExecutionHistoryRow
|
|
6
6
|
from .workflow_state_card import WorkflowStateCard
|
|
@@ -10,7 +10,7 @@ from .workflow_execution_state import WorkflowExecutionState
|
|
|
10
10
|
__all__ = [
|
|
11
11
|
"WorkflowCard",
|
|
12
12
|
"PopUp",
|
|
13
|
-
"
|
|
13
|
+
"Menu",
|
|
14
14
|
"WorkflowSidebar",
|
|
15
15
|
"ExecutionHistoryRow",
|
|
16
16
|
"WorkflowStateCard",
|
|
@@ -122,7 +122,7 @@ class ExecutionHistoryRow:
|
|
|
122
122
|
self.should_have_status("In Progress")
|
|
123
123
|
expect(self.status_badge).to_have_class("bg-in-progress-secondary")
|
|
124
124
|
expect(self.status_badge).to_have_class("text-in-progress-main")
|
|
125
|
-
expect(self.status_badge).to_have_class("border-in-progress-
|
|
125
|
+
expect(self.status_badge).to_have_class("border-in-progress-border")
|
|
126
126
|
expect(self.status_dot).to_have_class("animate-pulse")
|
|
127
127
|
|
|
128
128
|
@step
|
|
@@ -131,7 +131,7 @@ class ExecutionHistoryRow:
|
|
|
131
131
|
self.should_have_status("Succeeded")
|
|
132
132
|
expect(self.status_badge).to_contain_class("bg-success-secondary")
|
|
133
133
|
expect(self.status_badge).to_contain_class("text-success-main")
|
|
134
|
-
expect(self.status_badge).to_contain_class("border-success-
|
|
134
|
+
expect(self.status_badge).to_contain_class("border-success-border")
|
|
135
135
|
|
|
136
136
|
@step
|
|
137
137
|
def should_have_failed_status(self):
|
|
@@ -139,7 +139,7 @@ class ExecutionHistoryRow:
|
|
|
139
139
|
self.should_have_status("Failed")
|
|
140
140
|
expect(self.status_badge).to_contain_class("bg-error-secondary")
|
|
141
141
|
expect(self.status_badge).to_contain_class("text-error-main")
|
|
142
|
-
expect(self.status_badge).to_contain_class("border-error-
|
|
142
|
+
expect(self.status_badge).to_contain_class("border-error-border")
|
|
143
143
|
|
|
144
144
|
@step
|
|
145
145
|
def should_have_prompt(self, expected_prompt: str):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
Menu component page object for the main navigation menu.
|
|
3
3
|
Contains methods for interacting with navigation links, logo, and user profile.
|
|
4
4
|
"""
|
|
5
5
|
|
|
@@ -7,23 +7,23 @@ from reportportal_client import step
|
|
|
7
7
|
from playwright.sync_api import expect
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class
|
|
11
|
-
"""
|
|
10
|
+
class Menu:
|
|
11
|
+
"""Menu component with property-based element locators."""
|
|
12
12
|
|
|
13
13
|
def __init__(self, page):
|
|
14
14
|
self.page = page
|
|
15
15
|
|
|
16
|
-
#
|
|
16
|
+
# Menu elements using @property decorator
|
|
17
17
|
@property
|
|
18
|
-
def
|
|
19
|
-
"""Main
|
|
18
|
+
def menu_container(self):
|
|
19
|
+
"""Main menu container."""
|
|
20
20
|
return self.page.locator("//body//header")
|
|
21
21
|
|
|
22
22
|
@property
|
|
23
23
|
def logo_link(self):
|
|
24
24
|
"""Logo link element."""
|
|
25
|
-
return self.
|
|
26
|
-
|
|
25
|
+
return self.menu_container.locator(
|
|
26
|
+
"a.h-12.flex.grow.gap-4.items-center.relative.select-none.text-nowrap.cursor-pointer.group"
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
@property
|
|
@@ -33,13 +33,13 @@ class Header:
|
|
|
33
33
|
|
|
34
34
|
@property
|
|
35
35
|
def logo_tooltip(self):
|
|
36
|
-
"""Logo tooltip text."""
|
|
37
|
-
return self.page.locator('
|
|
36
|
+
"""Logo tooltip text whn menu is expanded."""
|
|
37
|
+
return self.page.locator('a:has-text("EPAM AI/RUN"):has-text("CodeMie")')
|
|
38
38
|
|
|
39
39
|
@property
|
|
40
40
|
def top_nav(self):
|
|
41
41
|
"""Top navigation container."""
|
|
42
|
-
return self.
|
|
42
|
+
return self.menu_container.locator('nav[aria-label="top-nav-links"]')
|
|
43
43
|
|
|
44
44
|
@property
|
|
45
45
|
def chats_link(self):
|
|
@@ -64,7 +64,7 @@ class Header:
|
|
|
64
64
|
@property
|
|
65
65
|
def secondary_nav(self):
|
|
66
66
|
"""Secondary navigation container."""
|
|
67
|
-
return self.
|
|
67
|
+
return self.menu_container.locator('nav[aria-label="secondary-nav-links"]')
|
|
68
68
|
|
|
69
69
|
@property
|
|
70
70
|
def integrations_link(self):
|
|
@@ -79,73 +79,51 @@ class Header:
|
|
|
79
79
|
@property
|
|
80
80
|
def bottom_nav(self):
|
|
81
81
|
"""Bottom navigation container."""
|
|
82
|
-
return self.
|
|
82
|
+
return self.menu_container.locator('nav[aria-label="bottom-nav-links"]')
|
|
83
83
|
|
|
84
84
|
@property
|
|
85
|
-
def
|
|
86
|
-
"""
|
|
87
|
-
return self.bottom_nav.locator(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
def user_profile_container(self):
|
|
91
|
-
"""User profile container."""
|
|
92
|
-
return self.header_container.locator("//span[text()='User Profile']/..")
|
|
93
|
-
|
|
94
|
-
@property
|
|
95
|
-
def user_profile_button(self):
|
|
96
|
-
"""User profile button."""
|
|
97
|
-
return self.user_profile_container.locator("button")
|
|
98
|
-
|
|
99
|
-
@property
|
|
100
|
-
def user_avatar(self):
|
|
101
|
-
"""User avatar image."""
|
|
102
|
-
return self.user_profile_button.locator('img[alt="User profile"]')
|
|
103
|
-
|
|
104
|
-
@property
|
|
105
|
-
def user_profile_tooltip(self):
|
|
106
|
-
"""User profile tooltip text."""
|
|
107
|
-
return self.page.locator('span:has-text("User Profile")')
|
|
108
|
-
|
|
109
|
-
# Navigation link tooltips
|
|
110
|
-
@property
|
|
111
|
-
def chats_tooltip(self):
|
|
112
|
-
"""Chats tooltip text."""
|
|
113
|
-
return self.page.locator('span:has-text("Chats")')
|
|
85
|
+
def faq_assistant_link(self):
|
|
86
|
+
"""FAQ assistant navigation link."""
|
|
87
|
+
return self.bottom_nav.locator(
|
|
88
|
+
'a[href="#/assistants/codemie-onboarding/start"]'
|
|
89
|
+
)
|
|
114
90
|
|
|
115
91
|
@property
|
|
116
|
-
def
|
|
117
|
-
"""
|
|
118
|
-
return self.
|
|
92
|
+
def prompt_assistant_link(self):
|
|
93
|
+
"""Prompt Engineer assistant navigation link."""
|
|
94
|
+
return self.bottom_nav.locator('a[href="#/assistants/prompt-engineer/start"]')
|
|
119
95
|
|
|
120
96
|
@property
|
|
121
|
-
def
|
|
122
|
-
"""
|
|
123
|
-
return self.
|
|
97
|
+
def switch_new_codemie(self):
|
|
98
|
+
"""Switch to new CodeMie."""
|
|
99
|
+
return self.menu_container.locator(".switch")
|
|
124
100
|
|
|
125
101
|
@property
|
|
126
|
-
def
|
|
127
|
-
"""
|
|
128
|
-
return self.
|
|
102
|
+
def hide_expand_menu_button(self):
|
|
103
|
+
"""Hide/Expand menu button."""
|
|
104
|
+
return self.menu_container.locator(
|
|
105
|
+
'button[type="button"].rounded-lg.flex.items-center'
|
|
106
|
+
)
|
|
129
107
|
|
|
130
108
|
@property
|
|
131
|
-
def
|
|
132
|
-
"""
|
|
133
|
-
return self.
|
|
109
|
+
def help_link(self):
|
|
110
|
+
"""Help navigation link."""
|
|
111
|
+
return self.bottom_nav.locator('a[href="#/help"]')
|
|
134
112
|
|
|
135
113
|
@property
|
|
136
|
-
def
|
|
137
|
-
"""
|
|
138
|
-
return self.
|
|
114
|
+
def user_profile_button(self):
|
|
115
|
+
"""User profile button."""
|
|
116
|
+
return self.menu_container.locator("button.cursor-pointer.group")
|
|
139
117
|
|
|
140
118
|
@property
|
|
141
|
-
def
|
|
142
|
-
"""
|
|
143
|
-
return self.
|
|
119
|
+
def user_avatar(self):
|
|
120
|
+
"""User avatar image."""
|
|
121
|
+
return self.user_profile_button.locator("img")
|
|
144
122
|
|
|
145
123
|
# Action methods
|
|
146
124
|
@step
|
|
147
125
|
def click_logo(self):
|
|
148
|
-
"""Click on the EPAM AI/Run logo to navigate to
|
|
126
|
+
"""Click on the EPAM AI/Run logo to navigate to new chat."""
|
|
149
127
|
self.logo_link.click()
|
|
150
128
|
return self
|
|
151
129
|
|
|
@@ -197,46 +175,6 @@ class Header:
|
|
|
197
175
|
self.user_profile_button.click()
|
|
198
176
|
return self
|
|
199
177
|
|
|
200
|
-
@step
|
|
201
|
-
def hover_over_navigation_item(self, navigation_item: str):
|
|
202
|
-
"""
|
|
203
|
-
Hover over a navigation item to display its tooltip.
|
|
204
|
-
|
|
205
|
-
Args:
|
|
206
|
-
navigation_item (str): The navigation item to hover over
|
|
207
|
-
('chats', 'assistants', 'workflows', 'applications',
|
|
208
|
-
'integrations', 'data_sources', 'help', 'logo', 'user_profile')
|
|
209
|
-
"""
|
|
210
|
-
navigation_items = {
|
|
211
|
-
"chats": self.chats_link,
|
|
212
|
-
"assistants": self.assistants_link,
|
|
213
|
-
"workflows": self.workflows_link,
|
|
214
|
-
"applications": self.applications_link,
|
|
215
|
-
"integrations": self.integrations_link,
|
|
216
|
-
"data_sources": self.data_sources_link,
|
|
217
|
-
"help": self.help_link,
|
|
218
|
-
"logo": self.logo_link,
|
|
219
|
-
"user_profile": self.user_profile_button,
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
if navigation_item in navigation_items:
|
|
223
|
-
navigation_items[navigation_item].hover()
|
|
224
|
-
else:
|
|
225
|
-
raise ValueError(f"Unknown navigation item: {navigation_item}")
|
|
226
|
-
return self
|
|
227
|
-
|
|
228
|
-
@step
|
|
229
|
-
def wait_for_tooltip_to_appear(self, tooltip_text: str):
|
|
230
|
-
"""
|
|
231
|
-
Wait for a specific tooltip to appear.
|
|
232
|
-
|
|
233
|
-
Args:
|
|
234
|
-
tooltip_text (str): The text of the tooltip to wait for
|
|
235
|
-
"""
|
|
236
|
-
tooltip = self.page.locator(f'span:has-text("{tooltip_text}")')
|
|
237
|
-
tooltip.wait_for(state="visible")
|
|
238
|
-
return self
|
|
239
|
-
|
|
240
178
|
# Utility methods
|
|
241
179
|
@step
|
|
242
180
|
def get_active_navigation_item(self):
|
|
@@ -244,7 +182,7 @@ class Header:
|
|
|
244
182
|
Get the currently active navigation item.
|
|
245
183
|
Returns the href of the active navigation link.
|
|
246
184
|
"""
|
|
247
|
-
active_link = self.
|
|
185
|
+
active_link = self.menu_container.locator("a.bg-new-panel-secondary")
|
|
248
186
|
if active_link.is_visible():
|
|
249
187
|
return active_link.get_attribute("href")
|
|
250
188
|
return None
|
|
@@ -257,8 +195,8 @@ class Header:
|
|
|
257
195
|
# Verification methods
|
|
258
196
|
@step
|
|
259
197
|
def should_be_visible(self):
|
|
260
|
-
"""Verify that the
|
|
261
|
-
expect(self.
|
|
198
|
+
"""Verify that the menu is visible."""
|
|
199
|
+
expect(self.menu_container).to_be_visible()
|
|
262
200
|
return self
|
|
263
201
|
|
|
264
202
|
@step
|
|
@@ -293,12 +231,12 @@ class Header:
|
|
|
293
231
|
Verify that all main navigation elements are present and visible.
|
|
294
232
|
"""
|
|
295
233
|
navigation_structure = {
|
|
296
|
-
"
|
|
234
|
+
"menu": self.menu_container,
|
|
297
235
|
"logo": self.logo_link,
|
|
298
236
|
"top_nav": self.top_nav,
|
|
299
237
|
"secondary_nav": self.secondary_nav,
|
|
300
238
|
"bottom_nav": self.bottom_nav,
|
|
301
|
-
"user_profile": self.
|
|
239
|
+
"user_profile": self.user_profile_button,
|
|
302
240
|
"chats_link": self.chats_link,
|
|
303
241
|
"assistants_link": self.assistants_link,
|
|
304
242
|
"workflows_link": self.workflows_link,
|
|
@@ -306,6 +244,10 @@ class Header:
|
|
|
306
244
|
"integrations_link": self.integrations_link,
|
|
307
245
|
"data_sources_link": self.data_sources_link,
|
|
308
246
|
"help_link": self.help_link,
|
|
247
|
+
"faq_assistant_link": self.faq_assistant_link,
|
|
248
|
+
"prompt_assistant_link": self.prompt_assistant_link,
|
|
249
|
+
"switch_to_new_codemie": self.switch_new_codemie,
|
|
250
|
+
"hide_expand_menu": self.hide_expand_menu_button,
|
|
309
251
|
}
|
|
310
252
|
|
|
311
253
|
for element_name, element in navigation_structure.items():
|
|
@@ -322,9 +264,9 @@ class Header:
|
|
|
322
264
|
|
|
323
265
|
# Legacy methods for backward compatibility
|
|
324
266
|
@step
|
|
325
|
-
def
|
|
326
|
-
"""Check if the
|
|
327
|
-
return self.
|
|
267
|
+
def is_menu_visible(self):
|
|
268
|
+
"""Check if the menu is visible on the page."""
|
|
269
|
+
return self.menu_container.is_visible()
|
|
328
270
|
|
|
329
271
|
@step
|
|
330
272
|
def is_logo_visible(self):
|
|
@@ -359,12 +301,12 @@ class Header:
|
|
|
359
301
|
dict: A dictionary with the visibility status of each navigation section
|
|
360
302
|
"""
|
|
361
303
|
return {
|
|
362
|
-
"
|
|
304
|
+
"menu_visible": self.menu_container.is_visible(),
|
|
363
305
|
"logo_visible": self.logo_link.is_visible(),
|
|
364
306
|
"top_nav_visible": self.top_nav.is_visible(),
|
|
365
307
|
"secondary_nav_visible": self.secondary_nav.is_visible(),
|
|
366
308
|
"bottom_nav_visible": self.bottom_nav.is_visible(),
|
|
367
|
-
"user_profile_visible": self.
|
|
309
|
+
"user_profile_visible": self.user_profile_button.is_visible(),
|
|
368
310
|
"chats_link_visible": self.chats_link.is_visible(),
|
|
369
311
|
"assistants_link_visible": self.assistants_link.is_visible(),
|
|
370
312
|
"workflows_link_visible": self.workflows_link.is_visible(),
|
|
@@ -372,4 +314,8 @@ class Header:
|
|
|
372
314
|
"integrations_link_visible": self.integrations_link.is_visible(),
|
|
373
315
|
"data_sources_link_visible": self.data_sources_link.is_visible(),
|
|
374
316
|
"help_link_visible": self.help_link.is_visible(),
|
|
317
|
+
"faq_assistant_link_visible": self.faq_assistant_link.is_visible(),
|
|
318
|
+
"prompt_assistant_link_visible": self.prompt_assistant_link.is_visible(),
|
|
319
|
+
"switch_to_new_codemie_visible": self.switch_new_codemie.is_visible(),
|
|
320
|
+
"hide_expand_menu_visible": self.hide_expand_menu_button.is_visible(),
|
|
375
321
|
}
|