codemie-test-harness 0.1.179__tar.gz → 0.1.181__tar.gz

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

Potentially problematic release.


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

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