codemie-test-harness 0.1.156__py3-none-any.whl → 0.1.157__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 (121) hide show
  1. codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +6 -0
  2. codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +14 -2
  3. codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +10 -0
  4. codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +6 -0
  5. codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +18 -2
  6. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +10 -0
  7. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +10 -0
  8. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +10 -0
  9. codemie_test_harness/tests/assistant/test_assistants.py +24 -2
  10. codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +2 -0
  11. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +4 -0
  12. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +4 -0
  13. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +4 -0
  14. codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +2 -0
  15. codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +3 -0
  16. codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +8 -4
  17. codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +9 -1
  18. codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +14 -0
  19. codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +8 -6
  20. codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +8 -6
  21. codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +6 -0
  22. codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +6 -4
  23. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +4 -1
  24. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +6 -2
  25. codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +17 -0
  26. codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +4 -0
  27. codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +2 -0
  28. codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +3 -1
  29. codemie_test_harness/tests/conversations/test_conversations_endpoints.py +10 -0
  30. codemie_test_harness/tests/e2e/test_e2e.py +24 -8
  31. codemie_test_harness/tests/integrations/project/test_default_integrations.py +41 -4
  32. codemie_test_harness/tests/integrations/project/test_project_integrations.py +23 -9
  33. codemie_test_harness/tests/integrations/user/test_default_integrations.py +40 -4
  34. codemie_test_harness/tests/integrations/user/test_user_integrations.py +26 -12
  35. codemie_test_harness/tests/llm/assistants/test_llm.py +8 -0
  36. codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -0
  37. codemie_test_harness/tests/search/test_search_assistant.py +2 -0
  38. codemie_test_harness/tests/search/test_search_datasource.py +10 -0
  39. codemie_test_harness/tests/search/test_search_integration.py +6 -0
  40. codemie_test_harness/tests/search/test_search_workflow.py +2 -0
  41. codemie_test_harness/tests/test_data/cloud_tools_test_data.py +18 -10
  42. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +6 -2
  43. codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +18 -10
  44. codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +6 -2
  45. codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +9 -5
  46. codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +6 -2
  47. codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +6 -2
  48. codemie_test_harness/tests/test_data/integrations_test_data.py +185 -65
  49. codemie_test_harness/tests/test_data/project_management_test_data.py +10 -4
  50. codemie_test_harness/tests/test_data/vcs_tools_test_data.py +8 -2
  51. codemie_test_harness/tests/ui/test_create_workflow.py +13 -0
  52. codemie_test_harness/tests/ui/test_edit_workflow.py +16 -0
  53. codemie_test_harness/tests/ui/test_workflow_details.py +17 -0
  54. codemie_test_harness/tests/ui/test_workflow_executions_page.py +36 -0
  55. codemie_test_harness/tests/ui/test_workflow_templates.py +8 -0
  56. codemie_test_harness/tests/ui/test_workflows.py +8 -0
  57. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +3 -0
  58. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +6 -0
  59. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +6 -0
  60. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +6 -0
  61. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +3 -0
  62. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +5 -0
  63. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +6 -0
  64. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  65. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  66. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  67. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +15 -0
  68. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +21 -0
  69. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +9 -3
  70. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +8 -0
  71. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +3 -0
  72. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +6 -2
  73. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +8 -2
  74. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +3 -0
  75. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +6 -0
  76. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  77. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +3 -0
  78. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +4 -3
  79. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +17 -2
  80. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +15 -0
  81. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +9 -0
  82. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +9 -0
  83. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +9 -0
  84. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +9 -0
  85. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +9 -0
  86. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +6 -0
  87. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools.py +9 -0
  88. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +9 -0
  89. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -0
  90. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +9 -0
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +12 -4
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +9 -0
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +9 -0
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +9 -0
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -0
  96. codemie_test_harness/tests/workflow/test_workflows.py +1 -0
  97. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +3 -0
  98. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +6 -0
  99. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +6 -0
  100. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +6 -0
  101. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +3 -0
  102. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +5 -0
  103. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +6 -0
  104. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  105. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  106. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  107. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +15 -0
  108. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +21 -0
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +12 -6
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +8 -0
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +6 -3
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +6 -2
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +8 -2
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +3 -0
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +6 -0
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +3 -0
  118. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/METADATA +2 -2
  119. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/RECORD +121 -121
  120. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/WHEEL +0 -0
  121. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/entry_points.txt +0 -0
@@ -17,6 +17,10 @@ ado_wiki_prompt = ado_wiki_get_test_data[0][2]
17
17
  ado_wiki_answer = ado_wiki_get_test_data[0][3]
18
18
 
19
19
 
20
+ @pytest.mark.workflow
21
+ @pytest.mark.workflow_with_assistant
22
+ @pytest.mark.integration
23
+ @pytest.mark.default_integration
20
24
  @pytest.mark.not_for_parallel_run
21
25
  @pytest.mark.regression
22
26
  @pytest.mark.tescase("EPMCDME-6708")
@@ -82,6 +86,10 @@ def test_assistant_in_workflow_should_use_user_integration_by_default(
82
86
  similarity_check.check_similarity(response, ado_wiki_answer)
83
87
 
84
88
 
89
+ @pytest.mark.workflow
90
+ @pytest.mark.workflow_with_assistant
91
+ @pytest.mark.integration
92
+ @pytest.mark.default_integration
85
93
  @pytest.mark.not_for_parallel_run
86
94
  @pytest.mark.regression
87
95
  @pytest.mark.tescase("EPMCDME-6708")
@@ -129,6 +137,10 @@ def test_assistant_in_workflow_with_global_and_project_integration(
129
137
  similarity_check.check_similarity(response, ado_wiki_answer)
130
138
 
131
139
 
140
+ @pytest.mark.workflow
141
+ @pytest.mark.workflow_with_assistant
142
+ @pytest.mark.integration
143
+ @pytest.mark.default_integration
132
144
  @pytest.mark.not_for_parallel_run
133
145
  @pytest.mark.regression
134
146
  @pytest.mark.tescase("EPMCDME-6708")
@@ -168,6 +180,10 @@ def test_assistant_in_workflow_with_project_integration_only(
168
180
  similarity_check.check_similarity(response, ado_wiki_answer)
169
181
 
170
182
 
183
+ @pytest.mark.workflow
184
+ @pytest.mark.workflow_with_assistant
185
+ @pytest.mark.integration
186
+ @pytest.mark.default_integration
171
187
  @pytest.mark.not_for_parallel_run
172
188
  @pytest.mark.regression
173
189
  def test_assistant_in_workflow_with_global_valid_and_user_invalid_integration(
@@ -215,6 +231,10 @@ def test_assistant_in_workflow_with_global_valid_and_user_invalid_integration(
215
231
  similarity_check.check_similarity(response, ado_wiki_answer)
216
232
 
217
233
 
234
+ @pytest.mark.workflow
235
+ @pytest.mark.workflow_with_assistant
236
+ @pytest.mark.integration
237
+ @pytest.mark.default_integration
218
238
  @pytest.mark.not_for_parallel_run
219
239
  @pytest.mark.regression
220
240
  def test_assistant_in_workflow_with_project_valid_and_user_invalid_integration(
@@ -18,6 +18,11 @@ git_tool_prompt = list_branches_set_active_branch_test_data[0][2]
18
18
  git_tool_answer = list_branches_set_active_branch_test_data[0][3]
19
19
 
20
20
 
21
+ @pytest.mark.workflow
22
+ @pytest.mark.workflow_with_assistant
23
+ @pytest.mark.integration
24
+ @pytest.mark.default_integration
25
+ @pytest.mark.datasource
21
26
  @pytest.mark.not_for_parallel_run
22
27
  @pytest.mark.regression
23
28
  @pytest.mark.tescase("EPMCDME-6708")
@@ -93,6 +98,11 @@ def test_assistant_in_workflow_should_use_user_integration_by_default(
93
98
  similarity_check.check_similarity(response, git_tool_answer)
94
99
 
95
100
 
101
+ @pytest.mark.workflow
102
+ @pytest.mark.workflow_with_assistant
103
+ @pytest.mark.integration
104
+ @pytest.mark.default_integration
105
+ @pytest.mark.datasource
96
106
  @pytest.mark.not_for_parallel_run
97
107
  @pytest.mark.regression
98
108
  @pytest.mark.tescase("EPMCDME-6708")
@@ -154,6 +164,11 @@ def test_assistant_in_workflow_with_global_and_project_integration(
154
164
  similarity_check.check_similarity(response, git_tool_answer)
155
165
 
156
166
 
167
+ @pytest.mark.workflow
168
+ @pytest.mark.workflow_with_assistant
169
+ @pytest.mark.integration
170
+ @pytest.mark.default_integration
171
+ @pytest.mark.datasource
157
172
  @pytest.mark.not_for_parallel_run
158
173
  @pytest.mark.regression
159
174
  @pytest.mark.tescase("EPMCDME-6708")
@@ -202,6 +217,11 @@ def test_assistant_in_workflow_with_project_integration_only(
202
217
  similarity_check.check_similarity(response, git_tool_answer)
203
218
 
204
219
 
220
+ @pytest.mark.workflow
221
+ @pytest.mark.workflow_with_assistant
222
+ @pytest.mark.integration
223
+ @pytest.mark.default_integration
224
+ @pytest.mark.datasource
205
225
  @pytest.mark.not_for_parallel_run
206
226
  @pytest.mark.regression
207
227
  def test_assistant_in_workflow_with_global_valid_and_user_invalid_integration(
@@ -262,6 +282,11 @@ def test_assistant_in_workflow_with_global_valid_and_user_invalid_integration(
262
282
  similarity_check.check_similarity(response, git_tool_answer)
263
283
 
264
284
 
285
+ @pytest.mark.workflow
286
+ @pytest.mark.workflow_with_assistant
287
+ @pytest.mark.integration
288
+ @pytest.mark.default_integration
289
+ @pytest.mark.datasource
265
290
  @pytest.mark.not_for_parallel_run
266
291
  @pytest.mark.regression
267
292
  def test_assistant_in_workflow_with_project_valid_and_user_invalid_integration(
@@ -20,6 +20,9 @@ from codemie_test_harness.tests.test_data.file_management_tools_test_data import
20
20
  from codemie_test_harness.tests.utils.base_utils import get_random_name
21
21
 
22
22
 
23
+ @pytest.mark.workflow
24
+ @pytest.mark.workflow_with_assistant
25
+ @pytest.mark.file_management
23
26
  @pytest.mark.regression
24
27
  @pytest.mark.parametrize(
25
28
  "tool_name, prompt, expected_response",
@@ -50,6 +53,9 @@ def test_workflow_with_assistant_with_file_management_tools(
50
53
  similarity_check.check_similarity(response, expected_response)
51
54
 
52
55
 
56
+ @pytest.mark.workflow
57
+ @pytest.mark.workflow_with_assistant
58
+ @pytest.mark.file_management
53
59
  @pytest.mark.regression
54
60
  @pytest.mark.skipif(
55
61
  os.getenv("ENV") == "local", reason="Skipping this test on local environment"
@@ -82,6 +88,9 @@ def test_workflow_with_assistant_with_generate_image_tool(
82
88
  )
83
89
 
84
90
 
91
+ @pytest.mark.workflow
92
+ @pytest.mark.workflow_with_assistant
93
+ @pytest.mark.file_management
85
94
  @pytest.mark.regression
86
95
  def test_workflow_with_assistant_with_read_file_tool(
87
96
  assistant,
@@ -109,6 +118,9 @@ def test_workflow_with_assistant_with_read_file_tool(
109
118
  similarity_check.check_similarity(response, RESPONSE_FOR_READ_FILE_TASK)
110
119
 
111
120
 
121
+ @pytest.mark.workflow
122
+ @pytest.mark.workflow_with_assistant
123
+ @pytest.mark.file_management
112
124
  @pytest.mark.skip(reason="Test are flaky, tools work unstable")
113
125
  @pytest.mark.regression
114
126
  def test_workflow_with_assistant_with_file_editing_tool(
@@ -145,6 +157,9 @@ def test_workflow_with_assistant_with_file_editing_tool(
145
157
  similarity_check.check_similarity(response, RESPONSE_FOR_DIFF_UPDATE)
146
158
 
147
159
 
160
+ @pytest.mark.workflow
161
+ @pytest.mark.workflow_with_assistant
162
+ @pytest.mark.file_management
148
163
  @pytest.mark.skip(reason="Test are flaky, tools work unstable")
149
164
  @pytest.mark.regression
150
165
  def test_workflow_with_assistant_with_filesystem_tool(
@@ -12,6 +12,9 @@ from codemie_test_harness.tests.test_data.git_tools_test_data import (
12
12
  )
13
13
 
14
14
 
15
+ @pytest.mark.workflow
16
+ @pytest.mark.workflow_with_assistant
17
+ @pytest.mark.gitlab
15
18
  @pytest.mark.regression
16
19
  @pytest.mark.parametrize(
17
20
  "toolkit,tool_name,prompt,expected_response",
@@ -44,6 +47,9 @@ def test_workflow_with_list_branch_set_active_branch_tools(
44
47
  similarity_check.check_similarity(response, expected_response)
45
48
 
46
49
 
50
+ @pytest.mark.workflow
51
+ @pytest.mark.workflow_with_assistant
52
+ @pytest.mark.gitlab
47
53
  @pytest.mark.regression
48
54
  @pytest.mark.parametrize(
49
55
  "toolkit,tool_name,prompt_template,expected_template",
@@ -92,6 +98,9 @@ def test_workflow_with_create_branch_tool(
92
98
  git_utils.delete_branch(branch_name)
93
99
 
94
100
 
101
+ @pytest.mark.workflow
102
+ @pytest.mark.workflow_with_assistant
103
+ @pytest.mark.gitlab
95
104
  @pytest.mark.regression
96
105
  @pytest.mark.parametrize(
97
106
  "toolkit,tool_name,prompt_template,expected_template,expected_content_template",
@@ -142,6 +151,9 @@ def test_workflow_with_create_file_tool(
142
151
  git_utils.delete_file(file_name, "main")
143
152
 
144
153
 
154
+ @pytest.mark.workflow
155
+ @pytest.mark.workflow_with_assistant
156
+ @pytest.mark.gitlab
145
157
  @pytest.mark.regression
146
158
  @pytest.mark.parametrize(
147
159
  "toolkit,tool_name,prompt_template,expected_template",
@@ -188,6 +200,9 @@ def test_workflow_with_create_merge_request_tool(
188
200
  git_utils.delete_branch(source_branch)
189
201
 
190
202
 
203
+ @pytest.mark.workflow
204
+ @pytest.mark.workflow_with_assistant
205
+ @pytest.mark.gitlab
191
206
  @pytest.mark.regression
192
207
  @pytest.mark.parametrize(
193
208
  "toolkit,tool_name,prompt_template,expected_template,file_content_template",
@@ -253,6 +268,9 @@ def test_workflow_with_delete_file_tool(
253
268
  git_utils.delete_file(file_name, "main")
254
269
 
255
270
 
271
+ @pytest.mark.workflow
272
+ @pytest.mark.workflow_with_assistant
273
+ @pytest.mark.gitlab
256
274
  @pytest.mark.regression
257
275
  @pytest.mark.parametrize(
258
276
  "toolkit,tool_name,create_mr_prompt_template,create_mr_expected_template,get_mr_changes_prompt_template,get_mr_changes_expected_template",
@@ -315,6 +333,9 @@ def test_workflow_with_get_merge_request_changes_tool(
315
333
  git_utils.delete_branch(source_branch)
316
334
 
317
335
 
336
+ @pytest.mark.workflow
337
+ @pytest.mark.workflow_with_assistant
338
+ @pytest.mark.gitlab
318
339
  @pytest.mark.regression
319
340
  @pytest.mark.parametrize(
320
341
  "toolkit,tool_name,create_prompt_template,create_expected_template,created_content_template,update_prompt_template,update_expected_template,updated_content_template",
@@ -16,8 +16,10 @@ from codemie_test_harness.tests.test_data.mcp_server_test_data import (
16
16
  )
17
17
 
18
18
 
19
- @pytest.mark.regression
19
+ @pytest.mark.workflow
20
+ @pytest.mark.workflow_with_assistant
20
21
  @pytest.mark.mcp
22
+ @pytest.mark.regression
21
23
  @pytest.mark.skipif(
22
24
  os.getenv("ENV") == "local", reason="Skipping this test on local environment"
23
25
  )
@@ -38,8 +40,10 @@ def test_workflow_with_assistant_with_time_mcp_server(
38
40
  similarity_check.check_similarity(response, time_expected_response)
39
41
 
40
42
 
41
- @pytest.mark.regression
43
+ @pytest.mark.workflow
44
+ @pytest.mark.workflow_with_assistant
42
45
  @pytest.mark.mcp
46
+ @pytest.mark.regression
43
47
  @pytest.mark.parametrize(
44
48
  "command, expected_answer",
45
49
  cli_mcp_server_test_data,
@@ -69,8 +73,10 @@ def test_workflow_with_assistant_with_cli_mcp_server(
69
73
  similarity_check.check_similarity(response, expected_answer)
70
74
 
71
75
 
72
- @pytest.mark.regression
76
+ @pytest.mark.workflow
77
+ @pytest.mark.workflow_with_assistant
73
78
  @pytest.mark.mcp
79
+ @pytest.mark.regression
74
80
  @pytest.mark.skipif(
75
81
  os.getenv("ENV") == "local", reason="Skipping this test on local environment"
76
82
  )
@@ -14,6 +14,10 @@ from codemie_test_harness.tests.test_data.notification_tools_test_data import (
14
14
  )
15
15
 
16
16
 
17
+ @pytest.mark.workflow
18
+ @pytest.mark.workflow_with_assistant
19
+ @pytest.mark.notification
20
+ @pytest.mark.email
17
21
  @pytest.mark.regression
18
22
  @pytest.mark.skipif(
19
23
  os.getenv("ENV") in ["local", "gcp"],
@@ -58,6 +62,10 @@ def test_workflow_with_email_tool(
58
62
  assert_that(message_title, equal_to(EMAIL_SUBJECT))
59
63
 
60
64
 
65
+ @pytest.mark.workflow
66
+ @pytest.mark.workflow_with_assistant
67
+ @pytest.mark.notification
68
+ @pytest.mark.telegram
61
69
  @pytest.mark.regression
62
70
  def test_workflow_with_telegram_tool(
63
71
  assistant,
@@ -8,6 +8,9 @@ from codemie_test_harness.tests.test_data.open_api_tools_test_data import (
8
8
  )
9
9
 
10
10
 
11
+ @pytest.mark.workflow
12
+ @pytest.mark.workflow_with_assistant
13
+ @pytest.mark.openapi
11
14
  @pytest.mark.regression
12
15
  @pytest.mark.parametrize(
13
16
  "tool_name, prompt, expected_response",
@@ -11,8 +11,10 @@ from codemie_test_harness.tests.utils.base_utils import get_random_name
11
11
  from codemie_test_harness.tests.utils.constants import TESTS_PATH
12
12
 
13
13
 
14
- @pytest.mark.regression
14
+ @pytest.mark.workflow
15
+ @pytest.mark.workflow_with_assistant
15
16
  @pytest.mark.plugin
17
+ @pytest.mark.regression
16
18
  @pytest.mark.parametrize(
17
19
  "prompt,expected_response,tool_name",
18
20
  list_files_plugin_tools_test_data,
@@ -37,8 +39,10 @@ def test_workflow_with_assistant_with_list_files_plugin_tools(
37
39
  similarity_check.check_similarity(response, expected_response)
38
40
 
39
41
 
40
- @pytest.mark.regression
42
+ @pytest.mark.workflow
43
+ @pytest.mark.workflow_with_assistant
41
44
  @pytest.mark.plugin
45
+ @pytest.mark.regression
42
46
  def test_workflow_with_assistant_with_modify_files_plugin_tools(
43
47
  assistant,
44
48
  workflow_utils,
@@ -10,8 +10,11 @@ from codemie_test_harness.tests.test_data.mcp_server_test_data import (
10
10
  from codemie_test_harness.tests.utils.constants import TESTS_PATH
11
11
 
12
12
 
13
- @pytest.mark.regression
13
+ @pytest.mark.workflow
14
+ @pytest.mark.workflow_with_assistant
14
15
  @pytest.mark.plugin
16
+ @pytest.mark.mcp
17
+ @pytest.mark.regression
15
18
  @pytest.mark.parametrize(
16
19
  "prompt,expected_response",
17
20
  cli_mcp_server_with_plugin_test_data,
@@ -36,8 +39,11 @@ def test_workflow_with_assistant_with_plugin_and_cli_mcp_server(
36
39
  similarity_check.check_similarity(response, expected_response)
37
40
 
38
41
 
39
- @pytest.mark.regression
42
+ @pytest.mark.workflow
43
+ @pytest.mark.workflow_with_assistant
40
44
  @pytest.mark.plugin
45
+ @pytest.mark.mcp
46
+ @pytest.mark.regression
41
47
  @pytest.mark.parametrize(
42
48
  "prompt,expected_response,tool_name",
43
49
  filesystem_mcp_server_with_plugin_test_data,
@@ -9,6 +9,9 @@ from codemie_test_harness.tests.utils.constants import (
9
9
  )
10
10
 
11
11
 
12
+ @pytest.mark.workflow
13
+ @pytest.mark.workflow_with_assistant
14
+ @pytest.mark.project_management
12
15
  @pytest.mark.regression
13
16
  @pytest.mark.parametrize(
14
17
  "tool_name, integration_type, prompt, expected_response",
@@ -9,6 +9,9 @@ from codemie_test_harness.tests.test_data.research_tools_test_data import (
9
9
  from codemie_test_harness.tests.utils.base_utils import percent_of_relevant_titles
10
10
 
11
11
 
12
+ @pytest.mark.workflow
13
+ @pytest.mark.workflow_with_assistant
14
+ @pytest.mark.research
12
15
  @pytest.mark.regression
13
16
  @pytest.mark.parametrize(
14
17
  "tool_name,prompt,expected_percentage",
@@ -38,6 +41,9 @@ def test_workflow_with_search_tools(
38
41
  )
39
42
 
40
43
 
44
+ @pytest.mark.workflow
45
+ @pytest.mark.workflow_with_assistant
46
+ @pytest.mark.research
41
47
  @pytest.mark.regression
42
48
  @pytest.mark.parametrize(
43
49
  "tool_name,prompt,expected_response",
@@ -7,6 +7,9 @@ from codemie_test_harness.tests.test_data.servicenow_tools_test_data import (
7
7
  )
8
8
 
9
9
 
10
+ @pytest.mark.workflow
11
+ @pytest.mark.workflow_with_assistant
12
+ @pytest.mark.servicenow
10
13
  @pytest.mark.regression
11
14
  def test_workflow_with_assistant_with_servicenow_tools(
12
15
  service_now_integration,
@@ -9,6 +9,9 @@ from codemie_test_harness.tests.test_data.vcs_tools_test_data import (
9
9
  from codemie_test_harness.tests.utils.constants import vcs_integrations
10
10
 
11
11
 
12
+ @pytest.mark.workflow
13
+ @pytest.mark.workflow_with_assistant
14
+ @pytest.mark.vcs
12
15
  @pytest.mark.regression
13
16
  @pytest.mark.parametrize(
14
17
  "tool_name,prompt,expected_response",
@@ -82,14 +82,15 @@ VALIDATION_TEST_DATA = [
82
82
  INVALID_CONFIG_PATH = "test_data/workflow/invalid_config/"
83
83
 
84
84
 
85
+ @pytest.mark.workflow
86
+ @pytest.mark.regression
87
+ @pytest.mark.smoke
88
+ @pytest.mark.testcase("EPMCDME-5458")
85
89
  @pytest.mark.parametrize(
86
90
  "file_name, expected_errors",
87
91
  VALIDATION_TEST_DATA,
88
92
  ids=[f"{row[0]}" for row in VALIDATION_TEST_DATA],
89
93
  )
90
- @pytest.mark.testcase("EPMCDME-5458")
91
- @pytest.mark.regression
92
- @pytest.mark.smoke
93
94
  def test_create_workflow_with_invalid_config(
94
95
  workflow_utils, file_name, expected_errors
95
96
  ):
@@ -17,10 +17,13 @@ from codemie_test_harness.tests.utils.base_utils import get_random_name
17
17
  from codemie_test_harness.tests.utils.constants import test_project_name
18
18
 
19
19
 
20
- jira_tool_prompt = project_management_tools_data[0][3]
21
- jira_tool_response = project_management_tools_data[0][4]
20
+ jira_tool_prompt = project_management_tools_data[0].values[3]
21
+ jira_tool_response = project_management_tools_data[0].values[4]
22
22
 
23
23
 
24
+ @pytest.mark.workflow
25
+ @pytest.mark.integration
26
+ @pytest.mark.default_integration
24
27
  @pytest.mark.not_for_parallel_run
25
28
  @pytest.mark.regression
26
29
  @pytest.mark.tescase("EPMCDME-6708")
@@ -85,6 +88,9 @@ def test_tool_in_workflow_should_use_user_integration_by_default(
85
88
  similarity_check.check_similarity(response, jira_tool_response, 95)
86
89
 
87
90
 
91
+ @pytest.mark.workflow
92
+ @pytest.mark.integration
93
+ @pytest.mark.default_integration
88
94
  @pytest.mark.not_for_parallel_run
89
95
  @pytest.mark.regression
90
96
  @pytest.mark.tescase("EPMCDME-6708")
@@ -132,6 +138,9 @@ def test_tool_in_workflow_with_global_and_project_integration(
132
138
  similarity_check.check_similarity(response, jira_tool_response, 95)
133
139
 
134
140
 
141
+ @pytest.mark.workflow
142
+ @pytest.mark.integration
143
+ @pytest.mark.default_integration
135
144
  @pytest.mark.not_for_parallel_run
136
145
  @pytest.mark.regression
137
146
  @pytest.mark.tescase("EPMCDME-6708")
@@ -170,6 +179,9 @@ def test_tool_in_workflow_with_project_integration_only(
170
179
  similarity_check.check_similarity(response, jira_tool_response, 95)
171
180
 
172
181
 
182
+ @pytest.mark.workflow
183
+ @pytest.mark.integration
184
+ @pytest.mark.default_integration
173
185
  @pytest.mark.not_for_parallel_run
174
186
  @pytest.mark.regression
175
187
  def test_tool_in_workflow_with_global_valid_and_user_invalid_integration(
@@ -216,6 +228,9 @@ def test_tool_in_workflow_with_global_valid_and_user_invalid_integration(
216
228
  similarity_check.check_similarity(response, jira_tool_response, 95)
217
229
 
218
230
 
231
+ @pytest.mark.workflow
232
+ @pytest.mark.integration
233
+ @pytest.mark.default_integration
219
234
  @pytest.mark.not_for_parallel_run
220
235
  @pytest.mark.regression
221
236
  def test_tool_in_workflow_with_project_valid_and_user_invalid_integration(
@@ -22,6 +22,9 @@ ado_wiki_prompt = ado_wiki_get_test_data[0][2]
22
22
  ado_wiki_answer = ado_wiki_get_test_data[0][3]
23
23
 
24
24
 
25
+ @pytest.mark.workflow
26
+ @pytest.mark.integration
27
+ @pytest.mark.default_integration
25
28
  @pytest.mark.not_for_parallel_run
26
29
  @pytest.mark.regression
27
30
  @pytest.mark.tescase("EPMCDME-6708")
@@ -87,6 +90,9 @@ def test_tool_in_workflow_should_use_user_integration_by_default(
87
90
  assert_that(response, equal_to(ado_wiki_answer))
88
91
 
89
92
 
93
+ @pytest.mark.workflow
94
+ @pytest.mark.integration
95
+ @pytest.mark.default_integration
90
96
  @pytest.mark.not_for_parallel_run
91
97
  @pytest.mark.regression
92
98
  @pytest.mark.tescase("EPMCDME-6708")
@@ -134,6 +140,9 @@ def test_tool_in_workflow_with_global_and_project_integration(
134
140
  assert_that(response, equal_to(ado_wiki_answer))
135
141
 
136
142
 
143
+ @pytest.mark.workflow
144
+ @pytest.mark.integration
145
+ @pytest.mark.default_integration
137
146
  @pytest.mark.not_for_parallel_run
138
147
  @pytest.mark.regression
139
148
  @pytest.mark.tescase("EPMCDME-6708")
@@ -173,6 +182,9 @@ def test_tool_in_workflow_with_project_integration_only(
173
182
  assert_that(response, equal_to(ado_wiki_answer))
174
183
 
175
184
 
185
+ @pytest.mark.workflow
186
+ @pytest.mark.integration
187
+ @pytest.mark.default_integration
176
188
  @pytest.mark.not_for_parallel_run
177
189
  @pytest.mark.regression
178
190
  def test_tool_in_workflow_with_global_valid_and_user_invalid_integration(
@@ -220,6 +232,9 @@ def test_tool_in_workflow_with_global_valid_and_user_invalid_integration(
220
232
  assert_that(response, equal_to(ado_wiki_answer))
221
233
 
222
234
 
235
+ @pytest.mark.workflow
236
+ @pytest.mark.integration
237
+ @pytest.mark.default_integration
223
238
  @pytest.mark.not_for_parallel_run
224
239
  @pytest.mark.regression
225
240
  def test_tool_in_workflow_with_project_valid_and_user_invalid_integration(
@@ -12,6 +12,9 @@ from codemie_test_harness.tests.test_data.direct_tools.keycloak_tool_test_data i
12
12
  from codemie_test_harness.tests.utils.base_utils import get_random_name
13
13
 
14
14
 
15
+ @pytest.mark.workflow
16
+ @pytest.mark.direct_tool
17
+ @pytest.mark.keycloak
15
18
  @pytest.mark.regression
16
19
  def test_workflow_with_keycloak_tool_direct(
17
20
  keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
@@ -31,6 +34,9 @@ def test_workflow_with_keycloak_tool_direct(
31
34
  similarity_check.check_similarity(response, KEYCLOAK_DIRECT_TOOL_RESPONSE)
32
35
 
33
36
 
37
+ @pytest.mark.workflow
38
+ @pytest.mark.direct_tool
39
+ @pytest.mark.keycloak
34
40
  @pytest.mark.regression
35
41
  def test_workflow_with_keycloak_tool_with_hardcoded_args(
36
42
  keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
@@ -49,6 +55,9 @@ def test_workflow_with_keycloak_tool_with_hardcoded_args(
49
55
  similarity_check.check_similarity(response, KEYCLOAK_DIRECT_TOOL_RESPONSE)
50
56
 
51
57
 
58
+ @pytest.mark.workflow
59
+ @pytest.mark.direct_tool
60
+ @pytest.mark.keycloak
52
61
  @pytest.mark.regression
53
62
  def test_workflow_with_keycloak_tool_with_overriding_args(
54
63
  keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
@@ -10,6 +10,9 @@ from codemie_test_harness.tests.test_data.direct_tools.ado_test_plan_tools_test_
10
10
  from codemie_test_harness.tests.utils.base_utils import get_random_name
11
11
 
12
12
 
13
+ @pytest.mark.workflow
14
+ @pytest.mark.direct_tool
15
+ @pytest.mark.ado
13
16
  @pytest.mark.regression
14
17
  @pytest.mark.parametrize(
15
18
  "toolkit,tool_name,prompt,expected_response",
@@ -38,6 +41,9 @@ def test_workflow_with_ado_test_plan_get_tools_direct(
38
41
  similarity_check.check_similarity(response, expected_response, 95)
39
42
 
40
43
 
44
+ @pytest.mark.workflow
45
+ @pytest.mark.direct_tool
46
+ @pytest.mark.ado
41
47
  @pytest.mark.regression
42
48
  @pytest.mark.parametrize(
43
49
  "toolkit,tool_name,prompt,expected_response",
@@ -64,6 +70,9 @@ def test_workflow_with_ado_test_plan_get_tools_with_hardcoded_args(
64
70
  similarity_check.check_similarity(response, expected_response, 95)
65
71
 
66
72
 
73
+ @pytest.mark.workflow
74
+ @pytest.mark.direct_tool
75
+ @pytest.mark.ado
67
76
  @pytest.mark.regression
68
77
  @pytest.mark.parametrize(
69
78
  "toolkit,tool_name,prompt,expected_response",
@@ -10,6 +10,9 @@ from codemie_test_harness.tests.test_data.direct_tools.ado_wiki_tools_test_data
10
10
  from codemie_test_harness.tests.utils.base_utils import get_random_name
11
11
 
12
12
 
13
+ @pytest.mark.workflow
14
+ @pytest.mark.direct_tool
15
+ @pytest.mark.ado
13
16
  @pytest.mark.regression
14
17
  @pytest.mark.testcase("EPMCDME-5192")
15
18
  @pytest.mark.parametrize(
@@ -39,6 +42,9 @@ def test_workflow_with_ado_wiki_get_tools_direct(
39
42
  similarity_check.check_similarity(response, expected_response, 95)
40
43
 
41
44
 
45
+ @pytest.mark.workflow
46
+ @pytest.mark.direct_tool
47
+ @pytest.mark.ado
42
48
  @pytest.mark.regression
43
49
  @pytest.mark.testcase("EPMCDME-5192")
44
50
  @pytest.mark.parametrize(
@@ -66,6 +72,9 @@ def test_workflow_with_ado_wiki_get_tools_with_hardcoded_args(
66
72
  similarity_check.check_similarity(response, expected_response, 95)
67
73
 
68
74
 
75
+ @pytest.mark.workflow
76
+ @pytest.mark.direct_tool
77
+ @pytest.mark.ado
69
78
  @pytest.mark.regression
70
79
  @pytest.mark.testcase("EPMCDME-5192")
71
80
  @pytest.mark.parametrize(
@@ -10,6 +10,9 @@ from codemie_test_harness.tests.test_data.direct_tools.ado_work_item_tools_test_
10
10
  from codemie_test_harness.tests.utils.base_utils import get_random_name
11
11
 
12
12
 
13
+ @pytest.mark.workflow
14
+ @pytest.mark.direct_tool
15
+ @pytest.mark.ado
13
16
  @pytest.mark.regression
14
17
  @pytest.mark.testcase("EPMCDME-5384")
15
18
  @pytest.mark.parametrize(
@@ -39,6 +42,9 @@ def test_workflow_with_ado_work_item_get_tools_direct(
39
42
  similarity_check.check_similarity(response, expected_response, 95)
40
43
 
41
44
 
45
+ @pytest.mark.workflow
46
+ @pytest.mark.direct_tool
47
+ @pytest.mark.ado
42
48
  @pytest.mark.regression
43
49
  @pytest.mark.testcase("EPMCDME-5384")
44
50
  @pytest.mark.parametrize(
@@ -66,6 +72,9 @@ def test_workflow_with_ado_work_item_get_tools_with_hardcoded_args(
66
72
  similarity_check.check_similarity(response, expected_response, 95)
67
73
 
68
74
 
75
+ @pytest.mark.workflow
76
+ @pytest.mark.direct_tool
77
+ @pytest.mark.ado
69
78
  @pytest.mark.regression
70
79
  @pytest.mark.testcase("EPMCDME-5384")
71
80
  @pytest.mark.parametrize(
@@ -11,6 +11,9 @@ from codemie_test_harness.tests.test_data.direct_tools.cloud_tools_test_data imp
11
11
  from codemie_test_harness.tests.utils.base_utils import get_random_name
12
12
 
13
13
 
14
+ @pytest.mark.workflow
15
+ @pytest.mark.direct_tool
16
+ @pytest.mark.cloud
14
17
  @pytest.mark.regression
15
18
  @pytest.mark.parametrize(
16
19
  "toolkit,tool_name,credential_type,credentials,prompt,expected_response",
@@ -48,6 +51,9 @@ def test_workflow_with_cloud_tools_direct(
48
51
  similarity_check.check_similarity(response, expected_response)
49
52
 
50
53
 
54
+ @pytest.mark.workflow
55
+ @pytest.mark.direct_tool
56
+ @pytest.mark.cloud
51
57
  @pytest.mark.regression
52
58
  @pytest.mark.parametrize(
53
59
  "toolkit,tool_name,credential_type,credentials,prompt,expected_response",
@@ -83,6 +89,9 @@ def test_workflow_with_cloud_tools_with_hardcoded_args(
83
89
  similarity_check.check_similarity(response, expected_response)
84
90
 
85
91
 
92
+ @pytest.mark.workflow
93
+ @pytest.mark.direct_tool
94
+ @pytest.mark.cloud
86
95
  @pytest.mark.regression
87
96
  @pytest.mark.parametrize(
88
97
  "toolkit,tool_name,credential_type,credentials,prompt,expected_response",