codemie-test-harness 0.1.206__tar.gz → 0.1.207__tar.gz

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

Potentially problematic release.


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

Files changed (404) hide show
  1. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/PKG-INFO +2 -2
  2. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +13 -13
  3. codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/assistants/test_edit_assistant.py +200 -0
  4. codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/pageobject/assistants/assistant_mcp_server.py +171 -0
  5. codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/pageobject/assistants/assistant_sidebar.py +140 -0
  6. codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/pageobject/assistants/assistant_view_page.py +256 -0
  7. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +63 -0
  8. codemie_test_harness-0.1.206/codemie_test_harness/tests/ui/pageobject/assistants/create_assistant_page.py → codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/pageobject/assistants/create_edit_assistant_page.py +379 -95
  9. codemie_test_harness-0.1.207/codemie_test_harness/tests/ui/test_data/assistant_test_data.py +528 -0
  10. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/pyproject.toml +2 -2
  11. codemie_test_harness-0.1.206/codemie_test_harness/tests/ui/test_data/assistant_test_data.py +0 -199
  12. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/README.md +0 -0
  13. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/.env +0 -0
  14. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/__init__.py +0 -0
  15. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/__init__.py +0 -0
  16. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/cli.py +0 -0
  17. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/__init__.py +0 -0
  18. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
  19. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
  20. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/marks_cmd.py +0 -0
  21. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
  22. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
  23. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/constants.py +0 -0
  24. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/marks_utils.py +0 -0
  25. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/runner.py +0 -0
  26. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/cli/utils.py +0 -0
  27. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/pytest.ini +0 -0
  28. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/__init__.py +0 -0
  29. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/__init__.py +0 -0
  30. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
  31. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
  32. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
  33. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
  34. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
  35. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
  36. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
  37. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
  38. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  39. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  40. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
  41. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
  42. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
  43. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +0 -0
  44. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
  45. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
  46. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
  47. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
  48. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
  49. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
  50. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
  51. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
  52. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
  53. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
  54. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
  55. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
  56. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
  57. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
  58. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
  59. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
  60. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
  61. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
  62. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +0 -0
  63. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
  64. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
  65. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
  66. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
  67. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
  68. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +0 -0
  69. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
  70. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
  71. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
  72. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +0 -0
  73. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
  74. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
  75. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
  76. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
  77. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
  78. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
  79. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/conftest.py +0 -0
  80. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/conversations/__init__.py +0 -0
  81. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
  82. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/e2e/__init__.py +0 -0
  83. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
  84. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/enums/__init__.py +0 -0
  85. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/enums/environment.py +0 -0
  86. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/enums/integrations.py +0 -0
  87. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/enums/model_types.py +0 -0
  88. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/enums/tools.py +0 -0
  89. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/__init__.py +0 -0
  90. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
  91. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
  92. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
  93. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
  94. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +0 -0
  95. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
  96. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/llm/__init__.py +0 -0
  97. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
  98. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
  99. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/llm/assistants/test_llm.py +0 -0
  100. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/providers/__init__.py +0 -0
  101. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
  102. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/search/__init__.py +0 -0
  103. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
  104. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
  105. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
  106. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
  107. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/__init__.py +0 -0
  108. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
  109. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
  110. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
  111. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
  112. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_task_service.py +0 -0
  113. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_user_service.py +0 -0
  114. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
  115. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
  116. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/__init__.py +0 -0
  117. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
  118. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py +0 -0
  119. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py +0 -0
  120. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -0
  121. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/cloud_tools_test_data.py +0 -0
  122. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/codebase_tools_test_data.py +0 -0
  123. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/data_management_tools_test_data.py +0 -0
  124. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
  125. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
  126. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
  127. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
  128. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
  129. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
  130. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
  131. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
  132. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
  133. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +0 -0
  134. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
  135. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
  136. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
  137. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/report_portal_tools_test_data.py +0 -0
  138. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
  139. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
  140. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
  141. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/file_management_tools_test_data.py +0 -0
  142. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
  143. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/large-files/large_file.txt +0 -0
  144. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
  145. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
  146. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
  147. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
  148. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
  149. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
  150. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
  151. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.json +0 -0
  152. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
  153. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.png +0 -0
  154. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
  155. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
  156. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
  157. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
  158. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
  159. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
  160. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
  161. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
  162. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/git_tools_test_data.py +0 -0
  163. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/google_datasource_test_data.py +0 -0
  164. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
  165. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
  166. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +0 -0
  167. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
  168. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/mcp_server_test_data.py +0 -0
  169. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/notification_tools_test_data.py +0 -0
  170. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/open_api_tools_test_data.py +0 -0
  171. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/openapi.json +0 -0
  172. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/output_schema_test_data.py +0 -0
  173. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/plugin_tools_test_data.py +0 -0
  174. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/pm_tools_test_data.py +0 -0
  175. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/project_management_test_data.py +0 -0
  176. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/report_portal_tools_test_data.py +0 -0
  177. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/research_tools_test_data.py +0 -0
  178. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/servicenow_tools_test_data.py +0 -0
  179. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/vcs_tools_test_data.py +0 -0
  180. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
  181. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
  182. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
  183. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
  184. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
  185. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
  186. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
  187. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
  188. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
  189. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
  190. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
  191. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
  192. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
  193. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
  194. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
  195. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
  196. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
  197. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
  198. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
  199. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
  200. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
  201. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_state_id.yaml +0 -0
  202. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
  203. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
  204. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
  205. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
  206. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
  207. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
  208. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
  209. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
  210. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
  211. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/__init__.py +0 -0
  212. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
  213. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/chats/conftest.py +0 -0
  214. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/chats/test_chat_configuration.py +0 -0
  215. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/chats/test_chat_functionality.py +0 -0
  216. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/conftest.py +0 -0
  217. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
  218. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +0 -0
  219. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +0 -0
  220. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +0 -0
  221. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +0 -0
  222. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
  223. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +0 -0
  224. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
  225. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
  226. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/assistants/generate_with_ai_modal.py +0 -0
  227. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
  228. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/chats/chat_page.py +0 -0
  229. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/chats/chats_sidebar.py +0 -0
  230. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/chats/configuration_panel.py +0 -0
  231. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/chats/configure_and_test_panel.py +0 -0
  232. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
  233. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/execution_history_row.py +0 -0
  234. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
  235. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
  236. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
  237. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
  238. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
  239. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
  240. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
  241. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
  242. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/components/workflow_state_card.py +0 -0
  243. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
  244. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/datasources/create_edit_datasource_page.py +0 -0
  245. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
  246. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
  247. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/datasources/view_datasource_page.py +0 -0
  248. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/integrations/create_integration_page.py +0 -0
  249. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
  250. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
  251. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
  252. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
  253. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
  254. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
  255. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
  256. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
  257. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
  258. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
  259. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
  260. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/test_data/__init__.py +0 -0
  261. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/test_data/chat_test_data.py +0 -0
  262. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/test_data/datasource_test_data.py +0 -0
  263. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/test_data/integration_test_data.py +0 -0
  264. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
  265. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +0 -0
  266. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +0 -0
  267. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +0 -0
  268. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +0 -0
  269. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +0 -0
  270. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/ui/workflows/test_workflows.py +0 -0
  271. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/__init__.py +0 -0
  272. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/assistant_utils.py +0 -0
  273. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
  274. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/base_utils.py +0 -0
  275. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/client_factory.py +0 -0
  276. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/constants.py +0 -0
  277. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
  278. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
  279. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
  280. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
  281. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/env_utils.py +0 -0
  282. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/file_utils.py +0 -0
  283. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
  284. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/http_utils.py +0 -0
  285. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
  286. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/json_utils.py +0 -0
  287. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
  288. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/logger_util.py +0 -0
  289. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
  290. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
  291. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
  292. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/search_utils.py +0 -0
  293. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
  294. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/user_utils.py +0 -0
  295. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/webhook_utils.py +0 -0
  296. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
  297. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
  298. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/webhook/__init__.py +0 -0
  299. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/webhook/test_webhook_service.py +0 -0
  300. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/__init__.py +0 -0
  301. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
  302. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py +0 -0
  303. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +0 -0
  304. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
  305. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
  306. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
  307. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
  308. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
  309. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
  310. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
  311. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
  312. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/data_management/__init__.py +0 -0
  313. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
  314. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/__init__.py +0 -0
  315. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  316. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  317. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  318. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
  319. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
  320. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
  321. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
  322. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
  323. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
  324. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
  325. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +0 -0
  326. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
  327. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
  328. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
  329. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
  330. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
  331. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/project_management/__init__.py +0 -0
  332. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
  333. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/__init__.py +0 -0
  334. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +0 -0
  335. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
  336. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
  337. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
  338. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  339. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
  340. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
  341. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
  342. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +0 -0
  343. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
  344. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/__init__.py +0 -0
  345. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +0 -0
  346. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  347. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +0 -0
  348. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
  349. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
  350. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
  351. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
  352. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
  353. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +0 -0
  354. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +0 -0
  355. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
  356. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +0 -0
  357. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
  358. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
  359. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +0 -0
  360. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +0 -0
  361. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +0 -0
  362. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
  363. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
  364. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
  365. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
  366. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py +0 -0
  367. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +0 -0
  368. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/__init__.py +0 -0
  369. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
  370. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
  371. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
  372. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/__init__.py +0 -0
  373. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
  374. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
  375. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
  376. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
  377. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
  378. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/__init__.py +0 -0
  379. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  380. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  381. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  382. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
  383. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
  384. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/__init__.py +0 -0
  385. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
  386. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/__init__.py +0 -0
  387. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
  388. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
  389. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +0 -0
  390. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
  391. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
  392. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/__init__.py +0 -0
  393. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
  394. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
  395. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
  396. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
  397. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/__init__.py +0 -0
  398. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +0 -0
  399. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/__init__.py +0 -0
  400. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
  401. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.py +0 -0
  402. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  403. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
  404. {codemie_test_harness-0.1.206 → codemie_test_harness-0.1.207}/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.206
3
+ Version: 0.1.207
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.206)
16
+ Requires-Dist: codemie-sdk-python (==0.1.207)
17
17
  Requires-Dist: pytest (>=8.4.1,<9.0.0)
18
18
  Requires-Dist: pytest-playwright (>=0.7.0,<0.8.0)
19
19
  Requires-Dist: pytest-repeat (>=0.9.3,<0.10.0)
@@ -29,8 +29,8 @@ import pytest
29
29
  from codemie_test_harness.tests.ui.pageobject.assistants.assistants_page import (
30
30
  AssistantsPage,
31
31
  )
32
- from codemie_test_harness.tests.ui.pageobject.assistants.create_assistant_page import (
33
- CreateAssistantPage,
32
+ from codemie_test_harness.tests.ui.pageobject.assistants.create_edit_assistant_page import (
33
+ CreateEditAssistantPage,
34
34
  )
35
35
  from codemie_test_harness.tests.ui.test_data.assistant_test_data import (
36
36
  get_minimal_assistant_data,
@@ -56,7 +56,7 @@ class TestCreateAssistantPageElements:
56
56
  - Action buttons (create, cancel)
57
57
  - Common page components (header, navigation)
58
58
  """
59
- create_page = CreateAssistantPage(page)
59
+ create_page = CreateEditAssistantPage(page)
60
60
  create_page.navigate_to()
61
61
 
62
62
  # Verify we are on the correct page
@@ -95,7 +95,7 @@ class TestCreateAssistantPageElements:
95
95
  assistants_page.click_create_assistant()
96
96
 
97
97
  # Verify we're on the create assistant page
98
- create_page = CreateAssistantPage(page)
98
+ create_page = CreateEditAssistantPage(page)
99
99
  create_page.should_be_on_create_assistant_page()
100
100
 
101
101
  @pytest.mark.assistant
@@ -113,7 +113,7 @@ class TestCreateAssistantPageElements:
113
113
  3. Verify modal can be closed or handled appropriately
114
114
  4. Ensure manual form is accessible after modal handling
115
115
  """
116
- create_page = CreateAssistantPage(page)
116
+ create_page = CreateEditAssistantPage(page)
117
117
 
118
118
  # Navigate to create assistant page - this will handle the modal automatically
119
119
  create_page.navigate_to()
@@ -140,7 +140,7 @@ class TestCreateAssistantPageElements:
140
140
  3. Verify modal closes and manual form is accessible
141
141
  4. Proceed with manual assistant creation
142
142
  """
143
- create_page = CreateAssistantPage(page)
143
+ create_page = CreateEditAssistantPage(page)
144
144
 
145
145
  # Navigate without automatic modal handling
146
146
  page.goto(create_page.page_url)
@@ -168,7 +168,7 @@ class TestCreateAssistantFormInteractions:
168
168
 
169
169
  @pytest.mark.assistant
170
170
  @pytest.mark.ui
171
- def test_create_assistant_form_field_interactions(self, page):
171
+ def test_create_assistant_form_field_interactions(self, page, client):
172
172
  """
173
173
  Test form field interactions and input handling.
174
174
 
@@ -182,7 +182,7 @@ class TestCreateAssistantFormInteractions:
182
182
  - Icon URL input
183
183
  - Shared toggle switch
184
184
  """
185
- create_page = CreateAssistantPage(page)
185
+ create_page = CreateEditAssistantPage(page)
186
186
  create_page.navigate_to()
187
187
 
188
188
  # Test shared toggle interaction
@@ -232,7 +232,7 @@ class TestCreateAssistantFormInteractions:
232
232
  - Unchecked shared toggle
233
233
  - Default assistant type selection
234
234
  """
235
- create_page = CreateAssistantPage(page)
235
+ create_page = CreateEditAssistantPage(page)
236
236
  create_page.navigate_to()
237
237
 
238
238
  # Verify default empty field values
@@ -273,7 +273,7 @@ class TestCreateAssistantCriticalHappyPath:
273
273
  test_data = get_minimal_assistant_data()
274
274
 
275
275
  # Navigate to create assistant page
276
- create_page = CreateAssistantPage(page)
276
+ create_page = CreateEditAssistantPage(page)
277
277
  create_page.navigate_to()
278
278
 
279
279
  # Use the comprehensive create_assistant method with test data
@@ -297,7 +297,7 @@ class TestCreateAssistantCriticalHappyPath:
297
297
  This test ensures that the form validation works correctly and provides
298
298
  appropriate feedback to users about required fields.
299
299
  """
300
- create_page = CreateAssistantPage(page)
300
+ create_page = CreateEditAssistantPage(page)
301
301
  create_page.navigate_to()
302
302
 
303
303
  # Get test data using the factory
@@ -333,7 +333,7 @@ class TestCreateAssistantNavigation:
333
333
  3. Click Cancel button
334
334
  4. Verify return to Assistants page
335
335
  """
336
- create_page = CreateAssistantPage(page)
336
+ create_page = CreateEditAssistantPage(page)
337
337
  create_page.navigate_to()
338
338
 
339
339
  # Get test data using the factory
@@ -371,7 +371,7 @@ class TestCreateAssistantNavigation:
371
371
  assistants_page.click_create_assistant()
372
372
 
373
373
  # Now on create assistant page
374
- create_page = CreateAssistantPage(page)
374
+ create_page = CreateEditAssistantPage(page)
375
375
  create_page.should_be_on_create_assistant_page()
376
376
  create_page.handle_ai_generator_modal_if_visible()
377
377
 
@@ -0,0 +1,200 @@
1
+ import pytest
2
+ from tests import TEST_USER, PROJECT
3
+ from tests.ui.pageobject.assistants.assistant_view_page import AssistantViewPage
4
+
5
+ from tests.ui.pageobject.assistants.assistants_page import (
6
+ AssistantsPage,
7
+ )
8
+ from codemie_test_harness.tests.ui.test_data.assistant_test_data import (
9
+ ExternalToolKit,
10
+ MCPServersTool,
11
+ get_minimal_assistant_mcp_config_data,
12
+ )
13
+
14
+
15
+ from tests.ui.test_data.assistant_test_data import (
16
+ TOOLKIT_TOOLS,
17
+ AssistantPopUpMessages,
18
+ AssistantValidationErrors,
19
+ )
20
+ from tests.ui.pageobject.assistants.create_edit_assistant_page import (
21
+ CreateEditAssistantPage,
22
+ )
23
+ from tests.utils.base_utils import get_random_name
24
+
25
+
26
+ @pytest.mark.assistant_ui
27
+ @pytest.mark.ui
28
+ def test_edit_assistant_page_elements_visibility(page, assistant):
29
+ """
30
+ Test all main elements are visible on Edit Assistant page—fields, toolkits, checkboxes, etc.
31
+ """
32
+ edit_page = CreateEditAssistantPage(page)
33
+ assistant_page = AssistantsPage(page)
34
+ assistant = assistant()
35
+
36
+ assistant_page.navigate_to()
37
+ assistant_page.search_assistants(assistant.name)
38
+ assistant_page.click_assistant_edit(assistant.name)
39
+
40
+ edit_page.should_have_all_form_fields_visible()
41
+ edit_page.should_have_top_p_and_temperature()
42
+ edit_page.should_have_datasource_context()
43
+ edit_page.should_have_sub_assistants_context()
44
+ edit_page.should_have_categories_visible()
45
+
46
+ for section, toolkits in TOOLKIT_TOOLS.items():
47
+ edit_page.select_section(section.value)
48
+ for toolkit, tools in toolkits.items():
49
+ edit_page.select_toolkit(section.value, toolkit.value)
50
+ for tool in tools:
51
+ edit_page.should_be_visible_tool(tool.value)
52
+
53
+
54
+ @pytest.mark.assistant_ui
55
+ @pytest.mark.ui
56
+ def test_edit_assistant_form_field_interactions(page, assistant):
57
+ """
58
+ Test interacting with all editable form fields.
59
+ """
60
+ EDITED = " EDITED"
61
+ edit_page = CreateEditAssistantPage(page)
62
+ view_page = AssistantViewPage(page)
63
+ assistant_page = AssistantsPage(page)
64
+ assistant = assistant()
65
+
66
+ assistant_page.navigate_to()
67
+ assistant_page.search_assistants(assistant.name)
68
+ assistant_page.click_assistant_edit(assistant.name)
69
+
70
+ edit_page.fill_name(assistant.name + EDITED)
71
+ edit_page.should_have_name_value(assistant.name + EDITED)
72
+ edit_page.fill_description(assistant.description + EDITED)
73
+ edit_page.should_have_description_value(assistant.description + EDITED)
74
+
75
+ edit_page.toggle_shared_assistant(True)
76
+ edit_page.should_have_shared_checked()
77
+ edit_page.toggle_shared_assistant(False)
78
+ edit_page.should_have_shared_unchecked()
79
+
80
+ edit_page.fill_temperature("0.5")
81
+ edit_page.fill_top_p("0.5")
82
+ edit_page.should_have_top_p_and_temperature_value("0.5", "0.5")
83
+ edit_page.click_save()
84
+ assistant_page.should_see_updating_popup(
85
+ AssistantPopUpMessages.ASSISTANT_UPDATED_SUCCESS.value
86
+ )
87
+ assistant_page.should_see_assistant_with_name(assistant.name + EDITED)
88
+
89
+ assistant_page.click_assistant_view(assistant.name + EDITED)
90
+ view_page.should_have_all_form_fields_visible(
91
+ name=assistant.name + EDITED,
92
+ author=TEST_USER,
93
+ description=assistant.description + EDITED,
94
+ )
95
+ view_page.should_have_overview_form_fields_visible(
96
+ project=PROJECT, status="Not shared", assistant_id=assistant.id
97
+ )
98
+ view_page.should_have_access_links_form_fields_visible(
99
+ assistant_id=assistant.id, assistant_name=assistant.name
100
+ )
101
+ view_page.should_have_configuration_form_fields_visible(
102
+ temperature="0.5", top_p="0.5"
103
+ )
104
+
105
+
106
+ @pytest.mark.assistant_ui
107
+ @pytest.mark.ui
108
+ def test_edit_assistant_tools_interactions(page, assistant):
109
+ """
110
+ Test interacting with all tools in assistant.
111
+ """
112
+ edit_page = CreateEditAssistantPage(page)
113
+ view_page = AssistantViewPage(page)
114
+ assistant_page = AssistantsPage(page)
115
+ assistant = assistant()
116
+
117
+ assistant_page.navigate_to()
118
+ assistant_page.search_assistants(assistant.name)
119
+ assistant_page.click_assistant_edit(assistant.name)
120
+
121
+ for section, toolkits in TOOLKIT_TOOLS.items():
122
+ edit_page.select_section(section.value)
123
+ for toolkit, tools in toolkits.items():
124
+ edit_page.select_toolkit(section.value, toolkit.value)
125
+ for tool in tools:
126
+ edit_page.select_tool(tool.value)
127
+ edit_page.click_save()
128
+ assistant_page.should_see_updating_popup(
129
+ AssistantPopUpMessages.ASSISTANT_UPDATED_SUCCESS.value
130
+ )
131
+
132
+ assistant_page.click_assistant_view(assistant.name)
133
+ for section, toolkits in TOOLKIT_TOOLS.items():
134
+ for toolkit, tools in toolkits.items():
135
+ toolkit_label = toolkit.value
136
+ if ExternalToolKit.MCP_SERVERS.value in toolkit.value:
137
+ toolkit_label = "MCP"
138
+ view_page.should_see_toolkit_visible(toolkit_label)
139
+ for tool in tools:
140
+ test_data = get_minimal_assistant_mcp_config_data()
141
+ tool_label = tool.value
142
+ if MCPServersTool.ADD_MCP_SERVER.value in tool.value:
143
+ tool_label = test_data.name
144
+ view_page.should_see_toolkit_contains(toolkit_label, tool_label)
145
+
146
+
147
+ @pytest.mark.assistant_ui
148
+ @pytest.mark.ui
149
+ def test_edit_assistant_incorrect_form(page, assistant):
150
+ """
151
+ Test interacting with incorrect data.
152
+ """
153
+ edit_page = CreateEditAssistantPage(page)
154
+ assistant_page = AssistantsPage(page)
155
+ assistant = assistant()
156
+
157
+ assistant_page.navigate_to()
158
+ assistant_page.search_assistants(assistant.name)
159
+ assistant_page.click_assistant_edit(assistant.name)
160
+
161
+ edit_page.fill_name("")
162
+ edit_page.should_have_name_error_textarea(
163
+ AssistantValidationErrors.NAME_REQUIRED.value
164
+ )
165
+ edit_page.fill_name(get_random_name())
166
+
167
+ edit_page.fill_icon_url(get_random_name())
168
+ edit_page.should_have_icon_error_textarea(
169
+ AssistantValidationErrors.ICON_URL_NOT_VALID.value
170
+ )
171
+ edit_page.fill_icon_url("")
172
+
173
+ edit_page.fill_description("")
174
+ edit_page.should_have_description_error_textarea(
175
+ AssistantValidationErrors.DESCRIPTION_REQUIRED.value
176
+ )
177
+ edit_page.fill_description(get_random_name())
178
+
179
+ edit_page.fill_system_prompt("")
180
+ edit_page.should_have_system_prompt_error_textarea(
181
+ AssistantValidationErrors.SYSTEM_PROMPT_REQUIRED.value
182
+ )
183
+ edit_page.fill_system_prompt(get_random_name())
184
+
185
+ edit_page.fill_temperature("3")
186
+ edit_page.should_have_temperature_error_textarea(
187
+ AssistantValidationErrors.TEMPERATURE_NOT_VALID.value
188
+ )
189
+ edit_page.fill_temperature("1")
190
+
191
+ edit_page.fill_top_p("2")
192
+ edit_page.should_have_top_p_error_textarea(
193
+ AssistantValidationErrors.TOP_P_NOT_VALID.value
194
+ )
195
+ edit_page.fill_top_p("1")
196
+
197
+ edit_page.click_save()
198
+ assistant_page.should_see_updating_popup(
199
+ AssistantPopUpMessages.ASSISTANT_UPDATED_SUCCESS.value
200
+ )
@@ -0,0 +1,171 @@
1
+ from playwright.sync_api import Page, Locator, expect
2
+ from reportportal_client import step
3
+ from tests.ui.test_data.assistant_test_data import get_minimal_assistant_mcp_config_data
4
+
5
+
6
+ class AssistantMCPIntegrationModal:
7
+ def __init__(self, page: Page):
8
+ self.page = page
9
+
10
+ @property
11
+ def mcp_pop_up(self):
12
+ """Main dialog container using p-dialog class"""
13
+ return self.page.locator("div.p-dialog[role='dialog']").filter(
14
+ has_text="Add new MCP server"
15
+ )
16
+
17
+ def mcp_pop_up_header(self):
18
+ """Dialog header with 'Add new MCP server' text"""
19
+ return self.mcp_pop_up.locator(
20
+ "h4.text-base.font-semibold:has-text('Add new MCP server')"
21
+ )
22
+
23
+ # --- Name input ---
24
+ @property
25
+ def name_input(self) -> Locator:
26
+ return self.mcp_pop_up.locator("input[name='name'][placeholder='Name*']")
27
+
28
+ # --- Description textarea ---
29
+ @property
30
+ def description_textarea(self) -> Locator:
31
+ return self.mcp_pop_up.locator(
32
+ "textarea[name='description'][placeholder='Description*']"
33
+ )
34
+
35
+ # --- Tools Tokens Size Limit input ---
36
+ @property
37
+ def tokens_size_limit_input(self) -> Locator:
38
+ return self.mcp_pop_up.locator("input[name='tokensSizeLimit'][type='number']")
39
+
40
+ # --- Configuration mode select (JSON/Form) ---
41
+ @property
42
+ def config_mode_switch(self) -> Locator:
43
+ return self.mcp_pop_up.locator("div.p-selectbutton.p-button-group")
44
+
45
+ @property
46
+ def config_mode_json_radio(self) -> Locator:
47
+ return self.config_mode_switch.locator(
48
+ "div.p-button[role='button']:has(span:has-text('JSON'))"
49
+ )
50
+
51
+ @property
52
+ def config_mode_form_radio(self) -> Locator:
53
+ return self.config_mode_switch.locator(
54
+ "div.p-button[role='button']:has(span:has-text('Form'))"
55
+ )
56
+
57
+ # --- Configuration (JSON) textarea ---
58
+ @property
59
+ def configuration_json_textarea(self) -> Locator:
60
+ return self.mcp_pop_up.locator("textarea[name='configJson']#json-config")
61
+
62
+ # --- Environment Variables dropdown ---
63
+ @property
64
+ def env_vars_dropdown(self) -> Locator:
65
+ return self.mcp_pop_up.locator(
66
+ "div.p-dropdown:has(span.p-dropdown-label:text('Environment Variables'))"
67
+ )
68
+
69
+ # --- MCP-Connect URL input ---
70
+ @property
71
+ def mcp_connect_url_input(self) -> Locator:
72
+ return self.mcp_pop_up.locator(
73
+ "input[name='connectUrl'][placeholder='https://']"
74
+ )
75
+
76
+ # --- Buttons ---
77
+ @property
78
+ def cancel_button(self) -> Locator:
79
+ return self.mcp_pop_up.locator(
80
+ "button.bg-button-secondary-bg:has-text('Cancel')"
81
+ )
82
+
83
+ @property
84
+ def test_integration_button(self) -> Locator:
85
+ return self.mcp_pop_up.locator(
86
+ "button.bg-button-secondary-bg:has-text('Test Integration')"
87
+ )
88
+
89
+ @property
90
+ def add_button(self) -> Locator:
91
+ return self.mcp_pop_up.locator("button.bg-button-primary-bg:has-text('Add')")
92
+
93
+ # ---- Action Methods ----
94
+
95
+ @step
96
+ def fill_name(self, value: str):
97
+ self.name_input.fill(value)
98
+
99
+ @step
100
+ def fill_description(self, value: str):
101
+ self.description_textarea.fill(value)
102
+
103
+ @step
104
+ def fill_tokens_size_limit(self, value: int):
105
+ self.tokens_size_limit_input.fill(str(value))
106
+
107
+ @step
108
+ def select_config_mode(self, mode: str):
109
+ if mode.lower() == "json":
110
+ self.config_mode_json_radio.click()
111
+ elif mode.lower() == "form":
112
+ self.config_mode_form_radio.click()
113
+ else:
114
+ raise ValueError("Mode must be 'json' or 'form'")
115
+
116
+ @step
117
+ def fill_configuration_json(self, value: str):
118
+ self.configuration_json_textarea.fill(value)
119
+
120
+ @step
121
+ def open_env_vars_dropdown(self):
122
+ self.env_vars_dropdown.click()
123
+
124
+ @step
125
+ def fill_mcp_connect_url(self, value: str):
126
+ self.mcp_connect_url_input.fill(value)
127
+
128
+ @step
129
+ def click_cancel(self):
130
+ self.cancel_button.click()
131
+
132
+ @step
133
+ def click_test_integration(self):
134
+ self.test_integration_button.click()
135
+
136
+ @step
137
+ def click_add(self):
138
+ self.add_button.click()
139
+
140
+ @step
141
+ def fill_mcp_server_base_form(self):
142
+ test_data = get_minimal_assistant_mcp_config_data()
143
+ self.fill_name(test_data.name)
144
+ self.fill_description(test_data.description)
145
+ self.fill_configuration_json(test_data.configuration)
146
+ self.click_add()
147
+
148
+ # --- Assertions (optional helpers) ---
149
+
150
+ def is_pop_visible(self):
151
+ return self.mcp_pop_up_header().count() > 0
152
+
153
+ @step
154
+ def should_see_name(self, name: str):
155
+ expect(self.name_input).to_have_value(name)
156
+
157
+ @step
158
+ def should_see_description(self, description: str):
159
+ expect(self.description_textarea).to_have_value(description)
160
+
161
+ @step
162
+ def should_see_tokens_size_limit(self, token_size: str):
163
+ expect(self.tokens_size_limit_input).to_have_value(token_size)
164
+
165
+ @step
166
+ def should_see_configuration_json(self, config: str):
167
+ expect(self.configuration_json_textarea).to_have_value(config)
168
+
169
+ @step
170
+ def should_see_mcp_connect_url(self, url: str):
171
+ expect(self.mcp_connect_url_input).to_have_value(url)
@@ -0,0 +1,140 @@
1
+ from playwright.sync_api import Page, Locator
2
+ from reportportal_client import step
3
+
4
+
5
+ class AssistantSidebar:
6
+ """Page Object Model for the Assistants Page Sidebar."""
7
+
8
+ def __init__(self, page: Page):
9
+ self.page = page
10
+
11
+ # --- Locators ---
12
+
13
+ @property
14
+ def main_sidebar(self) -> Locator:
15
+ """The sidebar <aside>."""
16
+ return self.page.locator("aside.flex.flex-col.border-r.bg-sidebar-gradient")
17
+
18
+ @property
19
+ def title(self) -> Locator:
20
+ """Sidebar title: 'Assistants'."""
21
+ return self.main_sidebar.locator("h2:text-is('Assistants')")
22
+
23
+ @property
24
+ def subtitle(self) -> Locator:
25
+ """Sidebar subtitle paragraph."""
26
+ return self.main_sidebar.locator("p.text-sm.text-text-secondary")
27
+
28
+ @property
29
+ def categories_label(self) -> Locator:
30
+ """The 'Categories' label/heading."""
31
+ return self.main_sidebar.locator("span:text-is('Categories')")
32
+
33
+ @property
34
+ def categories_list(self) -> Locator:
35
+ """<ul> under 'Categories'."""
36
+ return self.categories_label.locator("xpath=../../ul")
37
+
38
+ @property
39
+ def category_items(self) -> Locator:
40
+ """All category <li> elements."""
41
+ return self.categories_list.locator("li")
42
+
43
+ def category_button(self, name: str) -> Locator:
44
+ """Button for a category by visible text."""
45
+ return self.categories_list.locator(f"button:has-text('{name}')")
46
+
47
+ @property
48
+ def filters_label(self) -> Locator:
49
+ """'Filters' span above filters section."""
50
+ return self.main_sidebar.locator("span:text-is('Filters')")
51
+
52
+ @property
53
+ def clear_all_filters_button(self) -> Locator:
54
+ """'Clear all' filter reset button."""
55
+ return self.main_sidebar.locator("button:has-text('Clear all')")
56
+
57
+ @property
58
+ def search_input(self) -> Locator:
59
+ """Filter/search input."""
60
+ return self.main_sidebar.locator("input[placeholder='Search']")
61
+
62
+ # Accordion and filter options are unique/complex:
63
+ def accordion_tab(self, tab_title: str) -> Locator:
64
+ """Accordion tab by title, e.g. 'PROJECT', 'CREATED BY', ..."""
65
+ return self.main_sidebar.locator(
66
+ f".p-accordion-header-text span:has-text('{tab_title.upper()}')"
67
+ ).locator("xpath=../../..")
68
+
69
+ def multiselect_filter(self, label: str) -> Locator:
70
+ """Filter dropdown by its label in filter accordion, e.g. 'Project'."""
71
+ return self.main_sidebar.locator(f".p-multiselect-label:has-text('{label}')")
72
+
73
+ def created_by_input(self) -> Locator:
74
+ """Input for 'Created By' filter."""
75
+ return self.main_sidebar.locator("input[placeholder='Created By']")
76
+
77
+ def radio_filter_option(self, label: str) -> Locator:
78
+ """Radio 'Shared' filter options like All/With Project/Not Shared."""
79
+ return (
80
+ self.main_sidebar.locator(f"label.flex.items-center span:text('{label}')")
81
+ .locator("xpath=..")
82
+ .locator("input[type='radio']")
83
+ )
84
+
85
+ # --- Methods ---
86
+
87
+ @step
88
+ def click_category(self, name: str):
89
+ """Clicks on a category item by label."""
90
+ self.category_button(name).click()
91
+
92
+ @step
93
+ def select_filter_tab(self, tab_title: str):
94
+ """Expands a filter accordion tab by label."""
95
+ tab = self.accordion_tab(tab_title)
96
+ tab.locator("a.p-accordion-header-link").click()
97
+
98
+ @step
99
+ def clear_filters(self):
100
+ """Clicks the 'Clear all' button in filters."""
101
+ self.clear_all_filters_button.click()
102
+
103
+ @step
104
+ def search(self, text: str):
105
+ """Sets sidebar search/filter."""
106
+ self.search_input.fill(text)
107
+
108
+ @step
109
+ def select_multiselect_option(self, label: str):
110
+ """Clicks on a filter dropdown and selects the label (if supported)."""
111
+ ms = self.multiselect_filter(label)
112
+ ms.click()
113
+ ms.locator(f"..//li[.='{label}']").click()
114
+
115
+ @step
116
+ def set_created_by(self, author: str):
117
+ """Sets the 'Created By' filter text."""
118
+ input_field = self.created_by_input()
119
+ input_field.fill(author)
120
+
121
+ @step
122
+ def select_radio_option(self, option_label: str):
123
+ """Selects a radio option for shared status."""
124
+ self.radio_filter_option(option_label).check(force=True)
125
+
126
+ @step
127
+ def visible_categories(self):
128
+ """Returns the names of all visible categories."""
129
+ return [
130
+ self.category_items.nth(i).inner_text().strip()
131
+ for i in range(self.category_items.count())
132
+ ]
133
+
134
+ @step
135
+ def visible_filter_radios(self):
136
+ """Returns the text values of radio options in Shared filter."""
137
+ # Find all labels within the 'Shared' tab
138
+ tab = self.accordion_tab("SHARED")
139
+ radios = tab.locator("label.flex.items-center")
140
+ return [radios.nth(i).inner_text().strip() for i in range(radios.count())]