codemie-test-harness 0.1.179__py3-none-any.whl → 0.1.181__py3-none-any.whl

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 (134) hide show
  1. codemie_test_harness/cli/cli.py +2 -0
  2. codemie_test_harness/cli/commands/marks_cmd.py +39 -0
  3. codemie_test_harness/cli/marks_utils.py +338 -0
  4. codemie_test_harness/cli/runner.py +40 -0
  5. codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +20 -7
  6. codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +20 -7
  7. codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +20 -9
  8. codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +21 -7
  9. codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +22 -9
  10. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +29 -13
  11. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +29 -13
  12. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +29 -13
  13. codemie_test_harness/tests/assistant/test_assistants.py +53 -35
  14. codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +7 -2
  15. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +39 -11
  16. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +27 -8
  17. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +27 -7
  18. codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +9 -3
  19. codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +13 -4
  20. codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +32 -11
  21. codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +37 -12
  22. codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +48 -17
  23. codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +16 -9
  24. codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +14 -8
  25. codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +11 -4
  26. codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +6 -2
  27. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +27 -8
  28. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +17 -5
  29. codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +12 -3
  30. codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +36 -17
  31. codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +7 -2
  32. codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +17 -5
  33. codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +6 -2
  34. codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +7 -2
  35. codemie_test_harness/tests/conversations/test_conversations_endpoints.py +5 -5
  36. codemie_test_harness/tests/e2e/test_e2e.py +6 -6
  37. codemie_test_harness/tests/enums/tools.py +32 -0
  38. codemie_test_harness/tests/integrations/project/test_default_integrations.py +14 -14
  39. codemie_test_harness/tests/integrations/project/test_project_integrations.py +9 -9
  40. codemie_test_harness/tests/integrations/user/test_default_integrations.py +14 -14
  41. codemie_test_harness/tests/integrations/user/test_user_integrations.py +12 -12
  42. codemie_test_harness/tests/llm/assistants/test_lite_llm.py +2 -2
  43. codemie_test_harness/tests/llm/assistants/test_llm.py +3 -3
  44. codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -11
  45. codemie_test_harness/tests/search/test_search_assistant.py +1 -1
  46. codemie_test_harness/tests/search/test_search_datasource.py +5 -5
  47. codemie_test_harness/tests/search/test_search_integration.py +2 -2
  48. codemie_test_harness/tests/search/test_search_workflow.py +1 -1
  49. codemie_test_harness/tests/service/test_assistant_service.py +1 -1
  50. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +11 -5
  51. codemie_test_harness/tests/test_data/file_test_data.py +17 -0
  52. codemie_test_harness/tests/ui/assistants/test_create_assistant.py +11 -11
  53. codemie_test_harness/tests/ui/datasource/test_create_datasource.py +7 -7
  54. codemie_test_harness/tests/ui/datasource/test_datasource_page.py +3 -3
  55. codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +5 -5
  56. codemie_test_harness/tests/ui/datasource/test_view_datasource.py +5 -5
  57. codemie_test_harness/tests/ui/integrations/test_create_integration.py +9 -9
  58. codemie_test_harness/tests/ui/workflows/test_create_workflow.py +12 -12
  59. codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +15 -15
  60. codemie_test_harness/tests/ui/workflows/test_workflow_details.py +19 -19
  61. codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +36 -36
  62. codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +8 -8
  63. codemie_test_harness/tests/ui/workflows/test_workflows.py +8 -8
  64. codemie_test_harness/tests/utils/assistant_utils.py +34 -1
  65. codemie_test_harness/tests/utils/base_utils.py +61 -0
  66. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +1 -1
  67. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +2 -2
  68. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +2 -2
  69. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +2 -2
  70. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +1 -1
  71. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +2 -2
  72. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +2 -2
  73. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  74. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  75. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  76. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +5 -5
  77. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +7 -7
  78. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +3 -3
  79. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +2 -2
  80. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +1 -1
  81. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +2 -2
  82. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +2 -2
  83. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +1 -1
  84. codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +1 -1
  85. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +2 -2
  86. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  87. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +1 -1
  88. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +1 -1
  89. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +8 -8
  90. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +3 -3
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +3 -3
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +3 -3
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +3 -3
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +3 -3
  96. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +3 -3
  97. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +3 -3
  98. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +3 -3
  99. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +3 -3
  100. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -3
  101. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +3 -3
  102. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +4 -4
  103. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +3 -3
  104. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +3 -3
  105. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +3 -3
  106. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +3 -3
  107. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -3
  108. codemie_test_harness/tests/workflow/test_workflows.py +1 -1
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +1 -1
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +2 -2
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +2 -2
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +2 -2
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +4 -4
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +2 -2
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +2 -2
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  118. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  119. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +5 -5
  120. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +7 -7
  121. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +3 -3
  122. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +4 -4
  123. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +2 -2
  124. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +2 -2
  125. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +2 -2
  126. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +2 -2
  127. codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +1 -1
  128. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +2 -2
  129. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  130. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +1 -1
  131. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.181.dist-info}/METADATA +8 -8
  132. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.181.dist-info}/RECORD +134 -132
  133. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.181.dist-info}/WHEEL +0 -0
  134. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.181.dist-info}/entry_points.txt +0 -0
@@ -53,8 +53,8 @@ pytestmark = pytest.mark.skipif(
53
53
  @pytest.mark.integration
54
54
  @pytest.mark.user_integration
55
55
  @pytest.mark.default_integration
56
- @pytest.mark.regression
57
- @pytest.mark.tescase("EPMCDME-2377")
56
+ @pytest.mark.api
57
+ @pytest.mark.testcase("EPMCDME-2377")
58
58
  @pytest.mark.parametrize(
59
59
  "toolkit, tool_name, credential_type, credentials, prompt, expected_response",
60
60
  cloud_test_data,
@@ -97,8 +97,8 @@ def test_assistant_with_default_integration_cloud(
97
97
  @pytest.mark.integration
98
98
  @pytest.mark.user_integration
99
99
  @pytest.mark.default_integration
100
- @pytest.mark.regression
101
- @pytest.mark.tescase("EPMCDME-2377")
100
+ @pytest.mark.api
101
+ @pytest.mark.testcase("EPMCDME-2377")
102
102
  def test_assistant_with_default_integration_ado(
103
103
  general_integration,
104
104
  integration_utils,
@@ -135,8 +135,8 @@ def test_assistant_with_default_integration_ado(
135
135
  @pytest.mark.integration
136
136
  @pytest.mark.user_integration
137
137
  @pytest.mark.default_integration
138
- @pytest.mark.regression
139
- @pytest.mark.tescase("EPMCDME-2377")
138
+ @pytest.mark.api
139
+ @pytest.mark.testcase("EPMCDME-2377")
140
140
  @pytest.mark.parametrize(
141
141
  "toolkit, tool_name, credentials, prompt, expected_response",
142
142
  sonar_tools_test_data,
@@ -180,8 +180,8 @@ def test_assistant_with_default_integration_codebase(
180
180
  @pytest.mark.integration
181
181
  @pytest.mark.user_integration
182
182
  @pytest.mark.default_integration
183
- @pytest.mark.regression
184
- @pytest.mark.tescase("EPMCDME-2377")
183
+ @pytest.mark.api
184
+ @pytest.mark.testcase("EPMCDME-2377")
185
185
  def test_assistant_with_default_integration_git(
186
186
  general_integration,
187
187
  integration_utils,
@@ -234,8 +234,8 @@ def test_assistant_with_default_integration_git(
234
234
  @pytest.mark.integration
235
235
  @pytest.mark.user_integration
236
236
  @pytest.mark.default_integration
237
- @pytest.mark.regression
238
- @pytest.mark.tescase("EPMCDME-2377")
237
+ @pytest.mark.api
238
+ @pytest.mark.testcase("EPMCDME-2377")
239
239
  def test_assistant_with_default_integration_jira(
240
240
  general_integration,
241
241
  integration_utils,
@@ -273,8 +273,8 @@ def test_assistant_with_default_integration_jira(
273
273
  @pytest.mark.integration
274
274
  @pytest.mark.user_integration
275
275
  @pytest.mark.default_integration
276
- @pytest.mark.regression
277
- @pytest.mark.tescase("EPMCDME-2377")
276
+ @pytest.mark.api
277
+ @pytest.mark.testcase("EPMCDME-2377")
278
278
  def test_assistant_with_default_integration_email(
279
279
  general_integration,
280
280
  integration_utils,
@@ -309,7 +309,7 @@ def test_assistant_with_default_integration_email(
309
309
  @pytest.mark.integration
310
310
  @pytest.mark.user_integration
311
311
  @pytest.mark.default_integration
312
- @pytest.mark.regression
312
+ @pytest.mark.api
313
313
  def test_assistant_with_default_integration_keycloak(
314
314
  general_integration,
315
315
  integration_utils,
@@ -346,7 +346,7 @@ def test_assistant_with_default_integration_keycloak(
346
346
  @pytest.mark.integration
347
347
  @pytest.mark.user_integration
348
348
  @pytest.mark.default_integration
349
- @pytest.mark.regression
349
+ @pytest.mark.api
350
350
  def test_assistant_with_default_integration_report_portal(
351
351
  general_integration,
352
352
  integration_utils,
@@ -22,8 +22,8 @@ from codemie_test_harness.tests.utils.base_utils import (
22
22
 
23
23
  @pytest.mark.integration
24
24
  @pytest.mark.user_integration
25
- @pytest.mark.regression
26
- @pytest.mark.tescase("EPMCDME-2486, EPMCDME-2487, EPMCDME-2387, EPMCDME-2388")
25
+ @pytest.mark.api
26
+ @pytest.mark.testcase("EPMCDME-2486, EPMCDME-2487, EPMCDME-2387, EPMCDME-2388")
27
27
  @pytest.mark.parametrize(
28
28
  "credential_type, credentials",
29
29
  valid_integrations,
@@ -55,8 +55,8 @@ def test_integration_created(
55
55
 
56
56
  @pytest.mark.integration
57
57
  @pytest.mark.user_integration
58
- @pytest.mark.regression
59
- @pytest.mark.tescase("EPMCDME-2381, EPMCDME-2380, EPMCDME-3107")
58
+ @pytest.mark.api
59
+ @pytest.mark.testcase("EPMCDME-2381, EPMCDME-2380, EPMCDME-3107")
60
60
  @pytest.mark.parametrize(
61
61
  "credential_type, credentials",
62
62
  testable_integrations,
@@ -93,8 +93,8 @@ def test_integration_after_creation(
93
93
 
94
94
  @pytest.mark.integration
95
95
  @pytest.mark.user_integration
96
- @pytest.mark.regression
97
- @pytest.mark.tescase("EPMCDME-2375")
96
+ @pytest.mark.api
97
+ @pytest.mark.testcase("EPMCDME-2375")
98
98
  @pytest.mark.parametrize(
99
99
  "credential_type, credentials",
100
100
  valid_integrations,
@@ -138,8 +138,8 @@ def test_update_integration(
138
138
 
139
139
  @pytest.mark.integration
140
140
  @pytest.mark.user_integration
141
- @pytest.mark.regression
142
- @pytest.mark.tescase("EPMCDME-3111, EPMCDME-2379, EPMCDME-2384")
141
+ @pytest.mark.api
142
+ @pytest.mark.testcase("EPMCDME-3111, EPMCDME-2379, EPMCDME-2384")
143
143
  @pytest.mark.parametrize(
144
144
  "credential_type, credentials, error_message",
145
145
  invalid_integrations,
@@ -180,7 +180,7 @@ def test_integration_with_invalid_credentials(
180
180
 
181
181
  @pytest.mark.integration
182
182
  @pytest.mark.user_integration
183
- @pytest.mark.regression
183
+ @pytest.mark.api
184
184
  @pytest.mark.parametrize(
185
185
  "credential_type, credentials",
186
186
  testable_integrations,
@@ -204,7 +204,7 @@ def test_integration_during_creation(credential_type, credentials, integration_u
204
204
 
205
205
  @pytest.mark.integration
206
206
  @pytest.mark.user_integration
207
- @pytest.mark.regression
207
+ @pytest.mark.api
208
208
  @pytest.mark.parametrize(
209
209
  "credential_type, credentials, error_message",
210
210
  invalid_integrations,
@@ -226,8 +226,8 @@ def test_integration_during_creation_with_invalid_credentials(
226
226
 
227
227
  @pytest.mark.integration
228
228
  @pytest.mark.user_integration
229
- @pytest.mark.regression
230
- @pytest.mark.tescase("EPMCDME-2373")
229
+ @pytest.mark.api
230
+ @pytest.mark.testcase("EPMCDME-2373")
231
231
  @pytest.mark.parametrize(
232
232
  "credential_type, credentials",
233
233
  valid_integrations,
@@ -70,7 +70,7 @@ def pytest_generate_tests(metafunc):
70
70
 
71
71
  @pytest.mark.assistant
72
72
  @pytest.mark.lite_llm
73
- @pytest.mark.regression
73
+ @pytest.mark.api
74
74
  def test_assistant_with_different_models_in_lite_llm(
75
75
  llm_utils,
76
76
  lite_llm_integration,
@@ -93,7 +93,7 @@ def test_assistant_with_different_models_in_lite_llm(
93
93
 
94
94
  @pytest.mark.assistant
95
95
  @pytest.mark.lite_llm
96
- @pytest.mark.regression
96
+ @pytest.mark.api
97
97
  def test_assistant_with_invalid_lite_llm(
98
98
  invalid_lite_llm_integration,
99
99
  assistant,
@@ -33,7 +33,7 @@ def pytest_generate_tests(metafunc):
33
33
 
34
34
  @pytest.mark.assistant
35
35
  @pytest.mark.llm
36
- @pytest.mark.regression
36
+ @pytest.mark.api
37
37
  @pytest.mark.smoke
38
38
  def test_assistant_with_different_models(
39
39
  llm_utils, assistant_utils, model_type, similarity_check
@@ -54,7 +54,7 @@ def test_assistant_with_different_models(
54
54
  @pytest.mark.assistant
55
55
  @pytest.mark.llm
56
56
  @pytest.mark.top_p
57
- @pytest.mark.regression
57
+ @pytest.mark.api
58
58
  @pytest.mark.smoke
59
59
  def test_assistant_with_different_models_with_top_p_parameter(
60
60
  llm_utils, assistant_utils, model_type, similarity_check
@@ -75,7 +75,7 @@ def test_assistant_with_different_models_with_top_p_parameter(
75
75
  @pytest.mark.assistant
76
76
  @pytest.mark.llm
77
77
  @pytest.mark.temperature
78
- @pytest.mark.regression
78
+ @pytest.mark.api
79
79
  @pytest.mark.smoke
80
80
  def test_assistant_with_different_models_with_temperature_parameter(
81
81
  llm_utils, assistant_utils, model_type, similarity_check
@@ -24,7 +24,7 @@ nonexistent_id = "nonexistent-provider-id-12345"
24
24
 
25
25
 
26
26
  @pytest.mark.provider
27
- @pytest.mark.regression
27
+ @pytest.mark.api
28
28
  def test_get_providers_endpoint(providers_utils):
29
29
  response = providers_utils.send_get_request_to_providers_endpoint()
30
30
 
@@ -47,7 +47,7 @@ def test_get_providers_endpoint(providers_utils):
47
47
 
48
48
 
49
49
  @pytest.mark.provider
50
- @pytest.mark.regression
50
+ @pytest.mark.api
51
51
  def test_post_providers_endpoint(providers_utils):
52
52
  request_json = providers_utils.provider_request_json()
53
53
  # Ensure unique provider name to avoid conflicts
@@ -74,7 +74,7 @@ def test_post_providers_endpoint(providers_utils):
74
74
 
75
75
 
76
76
  @pytest.mark.provider
77
- @pytest.mark.regression
77
+ @pytest.mark.api
78
78
  def test_post_providers_endpoint_validation_error(providers_utils):
79
79
  """Test POST /v1/providers with invalid provided_toolkits node"""
80
80
  request_json = providers_utils.provider_request_json()
@@ -90,7 +90,7 @@ def test_post_providers_endpoint_validation_error(providers_utils):
90
90
 
91
91
 
92
92
  @pytest.mark.provider
93
- @pytest.mark.regression
93
+ @pytest.mark.api
94
94
  def test_post_providers_endpoint_with_existing_name(providers_utils):
95
95
  provider_id = providers_utils.create_provider()
96
96
 
@@ -117,7 +117,7 @@ def test_post_providers_endpoint_with_existing_name(providers_utils):
117
117
 
118
118
 
119
119
  @pytest.mark.provider
120
- @pytest.mark.regression
120
+ @pytest.mark.api
121
121
  def test_get_providers_datasource_schema_endpoint(providers_utils):
122
122
  response = providers_utils.send_get_request_datasource_schemas_endpoint()
123
123
 
@@ -146,7 +146,7 @@ def test_get_providers_datasource_schema_endpoint(providers_utils):
146
146
 
147
147
 
148
148
  @pytest.mark.provider
149
- @pytest.mark.regression
149
+ @pytest.mark.api
150
150
  def test_get_provider_by_id_endpoint(providers_utils):
151
151
  provider_id = providers_utils.create_provider()
152
152
 
@@ -157,7 +157,7 @@ def test_get_provider_by_id_endpoint(providers_utils):
157
157
 
158
158
 
159
159
  @pytest.mark.provider
160
- @pytest.mark.regression
160
+ @pytest.mark.api
161
161
  def test_get_nonexistent_provider(providers_utils):
162
162
  """Test error handling when requesting nonexistent provider."""
163
163
  response = providers_utils.get_provider_by_id(nonexistent_id)
@@ -178,7 +178,7 @@ def test_get_nonexistent_provider(providers_utils):
178
178
 
179
179
 
180
180
  @pytest.mark.provider
181
- @pytest.mark.regression
181
+ @pytest.mark.api
182
182
  def test_put_provider_endpoint(providers_utils):
183
183
  provider_id = providers_utils.create_provider()
184
184
  provider = providers_utils.get_provider_by_id(provider_id).json()
@@ -196,7 +196,7 @@ def test_put_provider_endpoint(providers_utils):
196
196
 
197
197
 
198
198
  @pytest.mark.provider
199
- @pytest.mark.regression
199
+ @pytest.mark.api
200
200
  def test_put_nonexistent_provider(providers_utils):
201
201
  response = providers_utils.update_provider(nonexistent_id, {})
202
202
 
@@ -215,7 +215,7 @@ def test_put_nonexistent_provider(providers_utils):
215
215
 
216
216
 
217
217
  @pytest.mark.provider
218
- @pytest.mark.regression
218
+ @pytest.mark.api
219
219
  def test_delete_provider_endpoint(providers_utils):
220
220
  provider_id = providers_utils.create_provider()
221
221
  delete_response = providers_utils.send_delete_provider_request(provider_id)
@@ -235,7 +235,7 @@ def test_delete_provider_endpoint(providers_utils):
235
235
 
236
236
 
237
237
  @pytest.mark.provider
238
- @pytest.mark.regression
238
+ @pytest.mark.api
239
239
  def test_delete_nonexistent_provider(providers_utils):
240
240
  """Test error handling when requesting nonexistent provider."""
241
241
  response = providers_utils.send_delete_provider_request(nonexistent_id)
@@ -84,7 +84,7 @@ def pytest_generate_tests(metafunc):
84
84
  @pytest.mark.assistant
85
85
  @pytest.mark.search
86
86
  @pytest.mark.testcase("EPMCDME-2429, EPMCDME-4102")
87
- @pytest.mark.regression
87
+ @pytest.mark.api
88
88
  @pytest.mark.smoke
89
89
  def test_search_assistant_by_filters(search_utils, filters, test_assistant_name):
90
90
  response = search_utils.list_assistants(filters)
@@ -152,7 +152,7 @@ def pytest_generate_tests(metafunc):
152
152
  @pytest.mark.datasource
153
153
  @pytest.mark.search
154
154
  @pytest.mark.testcase("EPMCDME-2391")
155
- @pytest.mark.regression
155
+ @pytest.mark.api
156
156
  def test_search_datasource_by_name(
157
157
  search_utils, name_filters, datasource_name_for_search
158
158
  ):
@@ -165,7 +165,7 @@ def test_search_datasource_by_name(
165
165
  @pytest.mark.datasource
166
166
  @pytest.mark.search
167
167
  @pytest.mark.testcase("EPMCDME-2391")
168
- @pytest.mark.regression
168
+ @pytest.mark.api
169
169
  def test_search_datasource_by_type(
170
170
  search_utils, type_test_data, datasource_name_for_search
171
171
  ):
@@ -181,7 +181,7 @@ def test_search_datasource_by_type(
181
181
  @pytest.mark.datasource
182
182
  @pytest.mark.search
183
183
  @pytest.mark.testcase("EPMCDME-2391")
184
- @pytest.mark.regression
184
+ @pytest.mark.api
185
185
  def test_search_datasource_by_owner(
186
186
  search_utils, owner_test_data, datasource_name_for_search
187
187
  ):
@@ -197,7 +197,7 @@ def test_search_datasource_by_owner(
197
197
  @pytest.mark.datasource
198
198
  @pytest.mark.search
199
199
  @pytest.mark.testcase("EPMCDME-2391")
200
- @pytest.mark.regression
200
+ @pytest.mark.api
201
201
  def test_search_datasource_by_status(
202
202
  search_utils, status_test_data, datasource_name_for_search
203
203
  ):
@@ -211,7 +211,7 @@ def test_search_datasource_by_status(
211
211
  @pytest.mark.datasource
212
212
  @pytest.mark.search
213
213
  @pytest.mark.testcase("EPMCDME-2391")
214
- @pytest.mark.regression
214
+ @pytest.mark.api
215
215
  def test_search_datasource_by_project(
216
216
  search_utils, project_test_data, datasource_name_for_search
217
217
  ):
@@ -110,7 +110,7 @@ def pytest_generate_tests(metafunc):
110
110
  @pytest.mark.user_integration
111
111
  @pytest.mark.search
112
112
  @pytest.mark.testcase("EPMCDME-4243")
113
- @pytest.mark.regression
113
+ @pytest.mark.api
114
114
  def test_search_user_integration(search_utils, user_filters, user_integration_name):
115
115
  response = search_utils.list_integrations(
116
116
  setting_type=IntegrationType.USER, filters=user_filters
@@ -124,7 +124,7 @@ def test_search_user_integration(search_utils, user_filters, user_integration_na
124
124
  @pytest.mark.project_integration
125
125
  @pytest.mark.search
126
126
  @pytest.mark.testcase("EPMCDME-3083")
127
- @pytest.mark.regression
127
+ @pytest.mark.api
128
128
  def test_search_project_integration(
129
129
  search_utils, project_filters, project_integration_name
130
130
  ):
@@ -81,7 +81,7 @@ def pytest_generate_tests(metafunc):
81
81
  @pytest.mark.workflow
82
82
  @pytest.mark.search
83
83
  @pytest.mark.testcase("EPMCDME-3948")
84
- @pytest.mark.regression
84
+ @pytest.mark.api
85
85
  @pytest.mark.smoke
86
86
  def test_search_workflows_by_filters(
87
87
  search_utils, test_case_data, workflow_name_for_search
@@ -56,7 +56,7 @@ def validate_assistant_full_response(assistant):
56
56
  )
57
57
 
58
58
 
59
- @pytest.mark.regression
59
+ @pytest.mark.api
60
60
  def test_get_tools(assistant_utils):
61
61
  toolkits = assistant_utils.get_assistant_tools()
62
62
 
@@ -24,16 +24,22 @@ as indicated by the file paths and extensions such as .java.""",
24
24
  CodeBaseTool.READ_FILES_CONTENT_SUMMARY,
25
25
  "Find build.gradle and say for what purpose we use the project, only one purpose",
26
26
  """
27
- The project appears to be focused on automated testing,
28
- particularly regression testing for APIs and UI components as well as featured run
29
- """,
27
+ The project appears to be focused on automated testing,
28
+ particularly regression testing for APIs and UI components as well as featured run
29
+ """,
30
30
  ),
31
31
  (
32
32
  Toolkit.CODEBASE_TOOLS,
33
33
  CodeBaseTool.SEARCH_CODE_REPO_BY_PATH,
34
34
  "Find the file be path src/main/Test.java and return value which in file",
35
- """File contain only one method public class TestClass { public static void main(String[] args) {
36
- System.out.println("Hello, World!");}}""",
35
+ """
36
+ File contain only one method
37
+ public class TestClass {
38
+ public static void main(String[] args) {
39
+ System.out.println("Hello, World!");
40
+ }
41
+ }
42
+ """,
37
43
  ),
38
44
  (
39
45
  Toolkit.CODEBASE_TOOLS,
@@ -1,3 +1,5 @@
1
+ from codemie_test_harness.tests.enums.tools import Default
2
+
1
3
  file_test_data = [
2
4
  (
3
5
  "test.docx",
@@ -25,6 +27,7 @@ file_test_data = [
25
27
  • Chinese Yuan Renminbi
26
28
  The system should display costs in the chosen currency, along with the currency code and numeric identifier, to help travelers more accurately budget and decide on accommodations. For example, AUD 36 Australian dollar.
27
29
  """,
30
+ Default.DOCX_TOOL,
28
31
  ),
29
32
  (
30
33
  "test.xlsx",
@@ -34,6 +37,7 @@ file_test_data = [
34
37
  Data Cats 111
35
38
  None None Travellers
36
39
  """,
40
+ Default.EXCEL_TOOL,
37
41
  ),
38
42
  (
39
43
  "test.vtt",
@@ -46,6 +50,7 @@ file_test_data = [
46
50
  00:00:02.500 --> 00:00:04.300
47
51
  and the way we access it is changing
48
52
  """,
53
+ Default.FILE_ANALYSIS,
49
54
  ),
50
55
  (
51
56
  "test.ini",
@@ -61,6 +66,7 @@ file_test_data = [
61
66
  rp_project = epm-cdme
62
67
  rp_launch = Pytest Regression
63
68
  """,
69
+ Default.FILE_ANALYSIS,
64
70
  ),
65
71
  (
66
72
  "test.csv",
@@ -73,10 +79,12 @@ file_test_data = [
73
79
 
74
80
  1918: 1991, track A: track D
75
81
  """,
82
+ Default.PYTHON_REPL_AST,
76
83
  ),
77
84
  (
78
85
  "test.json",
79
86
  "The content in the context is from a source document titled 'Automation Test' and contains the word 'Test'.json",
87
+ Default.FILE_ANALYSIS,
80
88
  ),
81
89
  (
82
90
  "test.yaml",
@@ -103,6 +111,7 @@ file_test_data = [
103
111
  and form data specifying the file's path and MIME type. The expected response for a successful upload is a status code of `200`
104
112
  with a response body containing the word "Success".
105
113
  """,
114
+ Default.FILE_ANALYSIS,
106
115
  ),
107
116
  (
108
117
  "test.xml",
@@ -121,6 +130,7 @@ file_test_data = [
121
130
  </body>
122
131
  </request>
123
132
  """,
133
+ Default.FILE_ANALYSIS,
124
134
  ),
125
135
  (
126
136
  "test.pptx",
@@ -149,6 +159,7 @@ file_test_data = [
149
159
  #### Conclusion
150
160
  The document concludes by emphasizing that software testing is crucial for ensuring applications work as intended, thereby reducing bugs and enhancing quality.pptx
151
161
  """,
162
+ Default.PPTX_TOOL,
152
163
  ),
153
164
  (
154
165
  "test.pdf",
@@ -156,6 +167,7 @@ file_test_data = [
156
167
  It contains a simple message stating "This file is for test purpose."
157
168
  followed by some whitespace and a separator line.
158
169
  """,
170
+ Default.PDF_TOOL,
159
171
  ),
160
172
  (
161
173
  "test.txt",
@@ -165,6 +177,7 @@ file_test_data = [
165
177
  **Source:** test.txt
166
178
  **File Content:** This file is for test purpose.
167
179
  """,
180
+ Default.FILE_ANALYSIS,
168
181
  ),
169
182
  (
170
183
  "test.gif",
@@ -176,6 +189,7 @@ file_test_data = [
176
189
  The dog's expression may appear as if it's imitating a human smile,
177
190
  which often results in comical interpretations in GIFs and memes.
178
191
  """,
192
+ (),
179
193
  ),
180
194
  (
181
195
  "test.jpeg",
@@ -187,6 +201,7 @@ file_test_data = [
187
201
  The lighting gives a warm tone to the image,
188
202
  possibly indicating natural light coming in from a nearby window.
189
203
  """,
204
+ (),
190
205
  ),
191
206
  (
192
207
  "test.jpg",
@@ -198,6 +213,7 @@ file_test_data = [
198
213
  The lighting gives a warm tone to the image,
199
214
  possibly indicating natural light coming in from a nearby window.
200
215
  """,
216
+ (),
201
217
  ),
202
218
  (
203
219
  "test.png",
@@ -209,6 +225,7 @@ file_test_data = [
209
225
  The lighting gives a warm tone to the image,
210
226
  possibly indicating natural light coming in from a nearby window.
211
227
  """,
228
+ (),
212
229
  ),
213
230
  ]
214
231
 
@@ -41,7 +41,7 @@ from codemie_test_harness.tests.ui.pageobject.assistants.create_assistant_page i
41
41
  class TestCreateAssistantPageElements:
42
42
  """Test suite for Create Assistant page element visibility and structure."""
43
43
 
44
- @pytest.mark.assistant_ui
44
+ @pytest.mark.assistant
45
45
  @pytest.mark.ui
46
46
  def test_create_assistant_page_elements_visibility(self, page):
47
47
  """
@@ -72,7 +72,7 @@ class TestCreateAssistantPageElements:
72
72
  create_page.should_have_page_content_visible()
73
73
  create_page.should_not_have_loading_indicator()
74
74
 
75
- @pytest.mark.assistant_ui
75
+ @pytest.mark.assistant
76
76
  @pytest.mark.ui
77
77
  def test_create_assistant_navigation_from_assistants_page(self, page):
78
78
  """
@@ -98,7 +98,7 @@ class TestCreateAssistantPageElements:
98
98
  create_page = CreateAssistantPage(page)
99
99
  create_page.should_be_on_create_assistant_page()
100
100
 
101
- @pytest.mark.assistant_ui
101
+ @pytest.mark.assistant
102
102
  @pytest.mark.ui
103
103
  def test_ai_generator_modal_visibility_and_handling(self, page):
104
104
  """
@@ -125,7 +125,7 @@ class TestCreateAssistantPageElements:
125
125
  create_page.should_be_on_create_assistant_page()
126
126
  create_page.should_have_all_form_fields_visible()
127
127
 
128
- @pytest.mark.assistant_ui
128
+ @pytest.mark.assistant
129
129
  @pytest.mark.ui
130
130
  def test_ai_generator_modal_create_manually_workflow(self, page):
131
131
  """
@@ -166,7 +166,7 @@ class TestCreateAssistantPageElements:
166
166
  class TestCreateAssistantFormInteractions:
167
167
  """Test suite for form field interactions and input validation."""
168
168
 
169
- @pytest.mark.assistant_ui
169
+ @pytest.mark.assistant
170
170
  @pytest.mark.ui
171
171
  def test_create_assistant_form_field_interactions(self, page):
172
172
  """
@@ -216,7 +216,7 @@ class TestCreateAssistantFormInteractions:
216
216
  create_page.fill_icon_url(test_icon_url)
217
217
  create_page.should_have_icon_url_value(test_icon_url)
218
218
 
219
- @pytest.mark.assistant_ui
219
+ @pytest.mark.assistant
220
220
  @pytest.mark.ui
221
221
  def test_create_assistant_default_field_values(self, page):
222
222
  """
@@ -255,7 +255,7 @@ class TestCreateAssistantCriticalHappyPath:
255
255
  ensuring that the essential functionality works correctly for end users.
256
256
  """
257
257
 
258
- @pytest.mark.assistant_ui
258
+ @pytest.mark.assistant
259
259
  @pytest.mark.ui
260
260
  def test_create_assistant_minimal_required_fields(self, page):
261
261
  """
@@ -288,7 +288,7 @@ class TestCreateAssistantCriticalHappyPath:
288
288
  assistants_page = AssistantsPage(page)
289
289
  assert_assistant_created_successfully(assistants_page, test_data.name)
290
290
 
291
- @pytest.mark.assistant_ui
291
+ @pytest.mark.assistant
292
292
  @pytest.mark.ui
293
293
  def test_create_assistant_button_states_and_validation(self, page):
294
294
  """
@@ -318,7 +318,7 @@ class TestCreateAssistantCriticalHappyPath:
318
318
  class TestCreateAssistantNavigation:
319
319
  """Test suite for navigation functionality within the Create Assistant workflow."""
320
320
 
321
- @pytest.mark.assistant_ui
321
+ @pytest.mark.assistant
322
322
  @pytest.mark.ui
323
323
  def test_create_assistant_cancel_navigation(self, page):
324
324
  """
@@ -350,7 +350,7 @@ class TestCreateAssistantNavigation:
350
350
  assistants_page = AssistantsPage(page)
351
351
  assistants_page.should_be_on_assistants_page()
352
352
 
353
- @pytest.mark.assistant_ui
353
+ @pytest.mark.assistant
354
354
  @pytest.mark.ui
355
355
  def test_create_assistant_back_button_navigation(self, page):
356
356
  """
@@ -403,6 +403,6 @@ def assert_assistant_created_successfully(
403
403
  # ==================== PYTEST MARKERS AND CONFIGURATION ====================
404
404
 
405
405
  pytestmark = [
406
- pytest.mark.assistant_ui, # Mark all tests in this module as assistant UI tests
406
+ pytest.mark.assistant, # Mark all tests in this module as assistant UI tests
407
407
  pytest.mark.ui, # Mark all tests as UI tests
408
408
  ]