codemie-test-harness 0.1.156__py3-none-any.whl → 0.1.158__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 (123) 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 +9 -1
  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/data_management_tools_test_data.py +4 -37
  44. codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +18 -10
  45. codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +6 -2
  46. codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +1 -1
  47. codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +9 -5
  48. codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +6 -2
  49. codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +6 -2
  50. codemie_test_harness/tests/test_data/integrations_test_data.py +185 -65
  51. codemie_test_harness/tests/test_data/project_management_test_data.py +10 -4
  52. codemie_test_harness/tests/test_data/vcs_tools_test_data.py +8 -2
  53. codemie_test_harness/tests/ui/test_create_workflow.py +13 -0
  54. codemie_test_harness/tests/ui/test_edit_workflow.py +16 -0
  55. codemie_test_harness/tests/ui/test_workflow_details.py +17 -0
  56. codemie_test_harness/tests/ui/test_workflow_executions_page.py +36 -0
  57. codemie_test_harness/tests/ui/test_workflow_templates.py +8 -0
  58. codemie_test_harness/tests/ui/test_workflows.py +8 -0
  59. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +3 -0
  60. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +6 -0
  61. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +6 -0
  62. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +6 -0
  63. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +3 -0
  64. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +5 -0
  65. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +10 -5
  66. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  67. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  68. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  69. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +15 -0
  70. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +21 -0
  71. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +9 -3
  72. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +8 -0
  73. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +3 -0
  74. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +6 -2
  75. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +8 -2
  76. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +3 -0
  77. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +6 -0
  78. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  79. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +3 -0
  80. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +4 -3
  81. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +17 -2
  82. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +15 -0
  83. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +9 -0
  84. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +9 -0
  85. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +9 -0
  86. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +9 -0
  87. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +9 -0
  88. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +6 -0
  89. codemie_test_harness/tests/workflow/direct_tools_calling/{test_workflow_with_data_management_tools.py → test_workflow_with_data_management_tools_sql.py} +10 -1
  90. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +9 -0
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -0
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +9 -0
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +12 -4
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +9 -0
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +9 -0
  96. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +9 -0
  97. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -0
  98. codemie_test_harness/tests/workflow/test_workflows.py +1 -0
  99. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +3 -0
  100. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +6 -0
  101. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +6 -0
  102. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +6 -0
  103. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +3 -0
  104. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +5 -0
  105. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +10 -5
  106. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  107. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  108. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +15 -0
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +21 -0
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +12 -6
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +8 -0
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +6 -3
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +6 -2
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +8 -2
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +3 -0
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +6 -0
  118. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  119. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +3 -0
  120. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/METADATA +2 -2
  121. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/RECORD +123 -123
  122. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/WHEEL +0 -0
  123. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/entry_points.txt +0 -0
@@ -50,6 +50,7 @@ def test_workflow(workflow_utils, default_llm):
50
50
  workflow_utils.delete_workflow(created_workflow)
51
51
 
52
52
 
53
+ @pytest.mark.workflow_ui
53
54
  @pytest.mark.ui
54
55
  def test_edit_workflow_page_elements_visibility(page, test_workflow):
55
56
  """Test that all main elements are visible on Edit Workflow page."""
@@ -71,6 +72,7 @@ def test_edit_workflow_page_elements_visibility(page, test_workflow):
71
72
  edit_page.sidebar.should_have_workflows_title()
72
73
 
73
74
 
75
+ @pytest.mark.workflow_ui
74
76
  @pytest.mark.ui
75
77
  def test_edit_workflow_form_pre_populated_data(page, test_workflow):
76
78
  """Test that form fields are pre-populated with existing workflow data."""
@@ -89,6 +91,7 @@ def test_edit_workflow_form_pre_populated_data(page, test_workflow):
89
91
  edit_page.should_have_yaml_editor_with_content(test_workflow.yaml_config)
90
92
 
91
93
 
94
+ @pytest.mark.workflow_ui
92
95
  @pytest.mark.ui
93
96
  def test_edit_workflow_form_interactions(page, test_workflow):
94
97
  """Test form field interactions and input validation."""
@@ -119,6 +122,7 @@ def test_edit_workflow_form_interactions(page, test_workflow):
119
122
  edit_page.should_have_shared_switch_checked()
120
123
 
121
124
 
125
+ @pytest.mark.workflow_ui
122
126
  @pytest.mark.ui
123
127
  def test_edit_workflow_dropdowns_interaction(page, test_workflow):
124
128
  """Test dropdown interactions for project and workflow mode."""
@@ -141,6 +145,7 @@ def test_edit_workflow_dropdowns_interaction(page, test_workflow):
141
145
  edit_page.should_have_workflow_mode_selected("Sequential")
142
146
 
143
147
 
148
+ @pytest.mark.workflow_ui
144
149
  @pytest.mark.ui
145
150
  def test_edit_workflow_yaml_tabs_functionality(page, test_workflow):
146
151
  """Test YAML configuration tabs functionality."""
@@ -162,6 +167,7 @@ def test_edit_workflow_yaml_tabs_functionality(page, test_workflow):
162
167
  edit_page.should_have_current_version_tab_active()
163
168
 
164
169
 
170
+ @pytest.mark.workflow_ui
165
171
  @pytest.mark.ui
166
172
  def test_edit_workflow_yaml_editor_functionality(page, test_workflow):
167
173
  """Test YAML editor functionality."""
@@ -180,6 +186,7 @@ def test_edit_workflow_yaml_editor_functionality(page, test_workflow):
180
186
  edit_page.should_have_yaml_editor_with_content(new_yaml_config)
181
187
 
182
188
 
189
+ @pytest.mark.workflow_ui
183
190
  @pytest.mark.ui
184
191
  def test_edit_workflow_visualization_section(page, test_workflow):
185
192
  """Test workflow visualization section functionality."""
@@ -196,6 +203,7 @@ def test_edit_workflow_visualization_section(page, test_workflow):
196
203
  edit_page.should_have_workflow_diagram_visible()
197
204
 
198
205
 
206
+ @pytest.mark.workflow_ui
199
207
  @pytest.mark.ui
200
208
  def test_edit_workflow_navigation_buttons(page, test_workflow):
201
209
  """Test navigation button interactions."""
@@ -213,6 +221,7 @@ def test_edit_workflow_navigation_buttons(page, test_workflow):
213
221
  edit_page.should_have_url_containing("#/workflows/my")
214
222
 
215
223
 
224
+ @pytest.mark.workflow_ui
216
225
  @pytest.mark.ui
217
226
  def test_edit_workflow_sidebar_functionality(page, test_workflow):
218
227
  """Test sidebar functionality from Edit Workflow page."""
@@ -234,6 +243,7 @@ def test_edit_workflow_sidebar_functionality(page, test_workflow):
234
243
  edit_page.should_have_url_containing("#/workflows/all")
235
244
 
236
245
 
246
+ @pytest.mark.workflow_ui
237
247
  @pytest.mark.ui
238
248
  def test_edit_workflow_header_navigation(page, test_workflow):
239
249
  """Test header navigation from Edit Workflow page."""
@@ -255,6 +265,7 @@ def test_edit_workflow_header_navigation(page, test_workflow):
255
265
  edit_page.should_have_url_containing("#/workflows/my")
256
266
 
257
267
 
268
+ @pytest.mark.workflow_ui
258
269
  @pytest.mark.ui
259
270
  def test_edit_workflow_workflow_mode_information(page, test_workflow):
260
271
  """Test workflow mode information display."""
@@ -265,6 +276,7 @@ def test_edit_workflow_workflow_mode_information(page, test_workflow):
265
276
  edit_page.should_show_workflow_mode_info()
266
277
 
267
278
 
279
+ @pytest.mark.workflow_ui
268
280
  @pytest.mark.ui
269
281
  def test_edit_workflow_data_persistence_across_tabs(page, test_workflow):
270
282
  """Test that form data persists when switching between tabs."""
@@ -282,6 +294,7 @@ def test_edit_workflow_data_persistence_across_tabs(page, test_workflow):
282
294
  edit_page.should_preserve_form_data_after_tab_switch(test_name, test_description)
283
295
 
284
296
 
297
+ @pytest.mark.workflow_ui
285
298
  @pytest.mark.ui
286
299
  def test_edit_workflow_button_states(page, test_workflow):
287
300
  """Test update button enabled/disabled states."""
@@ -300,6 +313,7 @@ def test_edit_workflow_button_states(page, test_workflow):
300
313
  edit_page.should_have_update_button_enabled()
301
314
 
302
315
 
316
+ @pytest.mark.workflow_ui
303
317
  @pytest.mark.ui
304
318
  def test_edit_workflow_form_validation(page, test_workflow):
305
319
  """Test form validation scenarios."""
@@ -313,6 +327,7 @@ def test_edit_workflow_form_validation(page, test_workflow):
313
327
  edit_page.should_show_validation_error_for_icon_url("Icon URL must be a valid URL")
314
328
 
315
329
 
330
+ @pytest.mark.workflow_ui
316
331
  @pytest.mark.ui
317
332
  def test_edit_workflow_complete_update(page, test_workflow):
318
333
  """Test complete workflow update using the update_workflow method."""
@@ -349,6 +364,7 @@ def test_edit_workflow_complete_update(page, test_workflow):
349
364
  edit_page.should_have_yaml_editor_with_content(test_workflow.yaml_config)
350
365
 
351
366
 
367
+ @pytest.mark.workflow_ui
352
368
  @pytest.mark.ui
353
369
  def test_edit_workflow_history_tab_functionality(page, test_workflow):
354
370
  """Test the complete history tab functionality: edit YAML, save, return to edit, click history, restore from history, check restoration."""
@@ -60,6 +60,7 @@ def test_workflow(workflow_utils, default_llm):
60
60
  workflow_utils.delete_workflow(created_workflow)
61
61
 
62
62
 
63
+ @pytest.mark.workflow_ui
63
64
  @pytest.mark.ui
64
65
  def test_workflow_details_page_elements_visibility(page, test_workflow):
65
66
  """Test that all main elements are visible on Workflow Details page."""
@@ -90,6 +91,7 @@ def test_workflow_details_page_elements_visibility(page, test_workflow):
90
91
  workflow_details_page.sidebar.should_be_visible()
91
92
 
92
93
 
94
+ @pytest.mark.workflow_ui
93
95
  @pytest.mark.ui
94
96
  def test_workflow_details_executions_table(page, test_workflow):
95
97
  """Test executions table functionality and content."""
@@ -114,6 +116,7 @@ def test_workflow_details_executions_table(page, test_workflow):
114
116
  workflow_details_page.should_have_execution_actions_working()
115
117
 
116
118
 
119
+ @pytest.mark.workflow_ui
117
120
  @pytest.mark.ui
118
121
  def test_workflow_details_execution_row_interactions(page, test_workflow):
119
122
  """Test individual execution row interactions."""
@@ -138,6 +141,7 @@ def test_workflow_details_execution_row_interactions(page, test_workflow):
138
141
  first_row.should_have_view_button_enabled()
139
142
 
140
143
 
144
+ @pytest.mark.workflow_ui
141
145
  @pytest.mark.ui
142
146
  def test_workflow_details_tab_switching(page, test_workflow):
143
147
  """Test tab switching functionality."""
@@ -160,6 +164,7 @@ def test_workflow_details_tab_switching(page, test_workflow):
160
164
  workflow_details_page.should_preserve_tab_state_after_navigation()
161
165
 
162
166
 
167
+ @pytest.mark.workflow_ui
163
168
  @pytest.mark.ui
164
169
  @pytest.mark.TODO
165
170
  def test_workflow_details_pagination_functionality(page, test_workflow):
@@ -177,6 +182,7 @@ def test_workflow_details_pagination_functionality(page, test_workflow):
177
182
  # In a real scenario, you might select different page sizes
178
183
 
179
184
 
185
+ @pytest.mark.workflow_ui
180
186
  @pytest.mark.ui
181
187
  def test_workflow_details_action_buttons(page, test_workflow):
182
188
  """Test workflow action buttons functionality."""
@@ -204,6 +210,7 @@ def test_workflow_details_action_buttons(page, test_workflow):
204
210
  # This would depend on the actual implementation
205
211
 
206
212
 
213
+ @pytest.mark.workflow_ui
207
214
  @pytest.mark.ui
208
215
  def test_workflow_details_navigation_buttons(page, test_workflow):
209
216
  """Test navigation button interactions."""
@@ -216,6 +223,7 @@ def test_workflow_details_navigation_buttons(page, test_workflow):
216
223
  workflow_details_page.should_have_url_containing("#/assistants")
217
224
 
218
225
 
226
+ @pytest.mark.workflow_ui
219
227
  @pytest.mark.ui
220
228
  def test_workflow_details_sidebar_functionality(page, test_workflow):
221
229
  """Test sidebar functionality from Workflow Details page."""
@@ -235,6 +243,7 @@ def test_workflow_details_sidebar_functionality(page, test_workflow):
235
243
  workflow_details_page.should_have_url_containing("#/workflows/all")
236
244
 
237
245
 
246
+ @pytest.mark.workflow_ui
238
247
  @pytest.mark.ui
239
248
  def test_workflow_details_header_navigation(page, test_workflow):
240
249
  """Test header navigation from Workflow Details page."""
@@ -256,6 +265,7 @@ def test_workflow_details_header_navigation(page, test_workflow):
256
265
  workflow_details_page.should_have_url_containing("#/workflows")
257
266
 
258
267
 
268
+ @pytest.mark.workflow_ui
259
269
  @pytest.mark.ui
260
270
  def test_workflow_details_execution_status_verification(page, test_workflow):
261
271
  """Test execution status display and verification."""
@@ -276,6 +286,7 @@ def test_workflow_details_execution_status_verification(page, test_workflow):
276
286
  first_row.should_have_updated_time_pattern(r"\d{2}/\d{2}/\d{4}, \d{2}:\d{2}")
277
287
 
278
288
 
289
+ @pytest.mark.workflow_ui
279
290
  @pytest.mark.ui
280
291
  @pytest.mark.TODO
281
292
  def test_workflow_details_execution_actions(page, test_workflow):
@@ -298,6 +309,7 @@ def test_workflow_details_execution_actions(page, test_workflow):
298
309
  # This would depend on the actual implementation
299
310
 
300
311
 
312
+ @pytest.mark.workflow_ui
301
313
  @pytest.mark.ui
302
314
  def test_workflow_details_multiple_executions(page, test_workflow):
303
315
  """Test handling of multiple executions in the table."""
@@ -320,6 +332,7 @@ def test_workflow_details_multiple_executions(page, test_workflow):
320
332
  # ==================== CONFIGURATION TAB TESTS ====================
321
333
 
322
334
 
335
+ @pytest.mark.workflow_ui
323
336
  @pytest.mark.ui
324
337
  def test_configuration_tab_visibility(page, test_workflow):
325
338
  """Test that all configuration tab elements are visible and properly structured."""
@@ -336,6 +349,7 @@ def test_configuration_tab_visibility(page, test_workflow):
336
349
  )
337
350
 
338
351
 
352
+ @pytest.mark.workflow_ui
339
353
  @pytest.mark.ui
340
354
  def test_configuration_tab_content(page, test_workflow):
341
355
  """Test configuration tab content and values."""
@@ -359,6 +373,7 @@ def test_configuration_tab_content(page, test_workflow):
359
373
  workflow_details_page.should_have_workflow_details_link_value(test_workflow.id)
360
374
 
361
375
 
376
+ @pytest.mark.workflow_ui
362
377
  @pytest.mark.ui
363
378
  def test_configuration_yaml_display(page, test_workflow):
364
379
  """Test YAML configuration display and content."""
@@ -372,6 +387,7 @@ def test_configuration_yaml_display(page, test_workflow):
372
387
  workflow_details_page.should_have_yaml_configuration(test_workflow.yaml_config)
373
388
 
374
389
 
390
+ @pytest.mark.workflow_ui
375
391
  @pytest.mark.ui
376
392
  def test_configuration_code_block_features(page, test_workflow):
377
393
  """Test code block features like copy and download buttons."""
@@ -394,6 +410,7 @@ def test_configuration_code_block_features(page, test_workflow):
394
410
  # Note: Actual download verification would require checking downloads
395
411
 
396
412
 
413
+ @pytest.mark.workflow_ui
397
414
  @pytest.mark.ui
398
415
  def test_configuration_copy_buttons(page, test_workflow):
399
416
  """Test copy functionality for workflow ID and details link."""
@@ -73,6 +73,8 @@ def executions(test_workflow, workflow_utils):
73
73
  # ==================== PAGE STRUCTURE & VISIBILITY TESTS ====================
74
74
 
75
75
 
76
+ @pytest.mark.workflow_ui
77
+ @pytest.mark.workflow_execution_ui
76
78
  @pytest.mark.ui
77
79
  def test_workflow_executions_page_structure(page, executions, test_workflow):
78
80
  """Test that all main page elements are visible and properly structured."""
@@ -89,6 +91,8 @@ def test_workflow_executions_page_structure(page, executions, test_workflow):
89
91
  executions_page.should_have_workflow_title(test_workflow.name)
90
92
 
91
93
 
94
+ @pytest.mark.workflow_ui
95
+ @pytest.mark.workflow_execution_ui
92
96
  @pytest.mark.ui
93
97
  def test_header_elements_visibility(page, executions):
94
98
  """Test that all header elements are visible and functional."""
@@ -106,6 +110,8 @@ def test_header_elements_visibility(page, executions):
106
110
  # ==================== EXECUTION HISTORY SIDEBAR TESTS ====================
107
111
 
108
112
 
113
+ @pytest.mark.workflow_ui
114
+ @pytest.mark.workflow_execution_ui
109
115
  @pytest.mark.ui
110
116
  def test_execution_history_sidebar_content(page, executions):
111
117
  """Test execution history sidebar content and structure."""
@@ -122,6 +128,8 @@ def test_execution_history_sidebar_content(page, executions):
122
128
  executions_page.should_have_active_execution_item()
123
129
 
124
130
 
131
+ @pytest.mark.workflow_ui
132
+ @pytest.mark.workflow_execution_ui
125
133
  @pytest.mark.ui
126
134
  def test_execution_history_item_interactions(page, executions):
127
135
  """Test interactions with individual execution history items."""
@@ -138,6 +146,8 @@ def test_execution_history_item_interactions(page, executions):
138
146
  first_execution.should_have_all_elements_visible()
139
147
 
140
148
 
149
+ @pytest.mark.workflow_ui
150
+ @pytest.mark.workflow_execution_ui
141
151
  @pytest.mark.ui
142
152
  def test_execution_history_status_display(page, executions):
143
153
  """Test execution status display and styling in sidebar."""
@@ -156,6 +166,8 @@ def test_execution_history_status_display(page, executions):
156
166
  # ==================== MAIN CONTENT STATUS & METADATA TESTS ====================
157
167
 
158
168
 
169
+ @pytest.mark.workflow_ui
170
+ @pytest.mark.workflow_execution_ui
159
171
  @pytest.mark.ui
160
172
  def test_execution_status_and_metadata_display(page, executions):
161
173
  """Test execution status and metadata display in main content."""
@@ -180,6 +192,8 @@ def test_execution_status_and_metadata_display(page, executions):
180
192
  )
181
193
 
182
194
 
195
+ @pytest.mark.workflow_ui
196
+ @pytest.mark.workflow_execution_ui
183
197
  @pytest.mark.ui
184
198
  def test_execution_action_buttons(page, executions):
185
199
  """Test execution action buttons functionality."""
@@ -195,6 +209,8 @@ def test_execution_action_buttons(page, executions):
195
209
  # ==================== PROMPT SECTION TESTS ====================
196
210
 
197
211
 
212
+ @pytest.mark.workflow_ui
213
+ @pytest.mark.workflow_execution_ui
198
214
  @pytest.mark.ui
199
215
  def test_prompt_section_display(page, executions):
200
216
  """Test prompt section display and content."""
@@ -211,6 +227,8 @@ def test_prompt_section_display(page, executions):
211
227
  executions_page.should_have_prompt_text(executions[0].prompt)
212
228
 
213
229
 
230
+ @pytest.mark.workflow_ui
231
+ @pytest.mark.workflow_execution_ui
214
232
  @pytest.mark.ui
215
233
  def test_prompt_action_buttons(page, executions):
216
234
  """Test prompt action buttons (info, copy, download)."""
@@ -230,6 +248,8 @@ def test_prompt_action_buttons(page, executions):
230
248
  # ==================== EXECUTION STATES TESTS ====================
231
249
 
232
250
 
251
+ @pytest.mark.workflow_ui
252
+ @pytest.mark.workflow_execution_ui
233
253
  @pytest.mark.ui
234
254
  def test_execution_states_display(page, executions):
235
255
  """Test execution states section display."""
@@ -244,6 +264,8 @@ def test_execution_states_display(page, executions):
244
264
  executions_page.should_have_execution_states()
245
265
 
246
266
 
267
+ @pytest.mark.workflow_ui
268
+ @pytest.mark.workflow_execution_ui
247
269
  @pytest.mark.ui
248
270
  def test_execution_state_content(page, executions):
249
271
  """Test individual execution state content and functionality."""
@@ -258,6 +280,8 @@ def test_execution_state_content(page, executions):
258
280
  first_state.should_have_main_elements_visible()
259
281
 
260
282
 
283
+ @pytest.mark.workflow_ui
284
+ @pytest.mark.workflow_execution_ui
261
285
  @pytest.mark.ui
262
286
  def test_states_expand_collapse_functionality(page, executions):
263
287
  """Test expand/collapse functionality for states."""
@@ -275,6 +299,8 @@ def test_states_expand_collapse_functionality(page, executions):
275
299
  first_state.should_be_collapsed()
276
300
 
277
301
 
302
+ @pytest.mark.workflow_ui
303
+ @pytest.mark.workflow_execution_ui
278
304
  @pytest.mark.ui
279
305
  def test_execution_state_output_interaction(page, executions):
280
306
  """Test execution state output interaction."""
@@ -292,6 +318,8 @@ def test_execution_state_output_interaction(page, executions):
292
318
  # ==================== CONFIGURATION SIDEBAR TESTS ====================
293
319
 
294
320
 
321
+ @pytest.mark.workflow_ui
322
+ @pytest.mark.workflow_execution_ui
295
323
  @pytest.mark.ui
296
324
  def test_configuration_sidebar_toggle(page, executions):
297
325
  """Test configuration sidebar toggle functionality."""
@@ -310,6 +338,8 @@ def test_configuration_sidebar_toggle(page, executions):
310
338
  executions_page.should_have_configuration_sidebar_closed()
311
339
 
312
340
 
341
+ @pytest.mark.workflow_ui
342
+ @pytest.mark.workflow_execution_ui
313
343
  @pytest.mark.ui
314
344
  def test_configuration_sidebar_content(page, executions, test_workflow):
315
345
  """Test configuration sidebar content when open."""
@@ -327,6 +357,8 @@ def test_configuration_sidebar_content(page, executions, test_workflow):
327
357
  )
328
358
 
329
359
 
360
+ @pytest.mark.workflow_ui
361
+ @pytest.mark.workflow_execution_ui
330
362
  @pytest.mark.ui
331
363
  def test_yaml_configuration_display(page, executions):
332
364
  """Test YAML configuration display in sidebar."""
@@ -345,6 +377,8 @@ def test_yaml_configuration_display(page, executions):
345
377
  # ==================== INTEGRATION & NAVIGATION TESTS ====================
346
378
 
347
379
 
380
+ @pytest.mark.workflow_ui
381
+ @pytest.mark.workflow_execution_ui
348
382
  @pytest.mark.ui
349
383
  def test_execution_history_navigation(page, executions):
350
384
  """Test navigation between different executions in history."""
@@ -363,6 +397,8 @@ def test_execution_history_navigation(page, executions):
363
397
  executions_page.should_have_active_execution_item()
364
398
 
365
399
 
400
+ @pytest.mark.workflow_ui
401
+ @pytest.mark.workflow_execution_ui
366
402
  @pytest.mark.ui
367
403
  def test_page_state_persistence(page, executions):
368
404
  """Test that page state persists during interactions."""
@@ -22,6 +22,8 @@ def predefined_templates(workflow_utils):
22
22
  return workflow_utils.get_prebuilt_workflows()
23
23
 
24
24
 
25
+ @pytest.mark.workflow_ui
26
+ @pytest.mark.workflow_templates_ui
25
27
  @pytest.mark.ui
26
28
  def test_templates_visible(page, predefined_templates):
27
29
  """Verify that workflow templates are presented and tooltips visible for the user."""
@@ -43,6 +45,8 @@ def test_templates_visible(page, predefined_templates):
43
45
  )
44
46
 
45
47
 
48
+ @pytest.mark.workflow_ui
49
+ @pytest.mark.workflow_templates_ui
46
50
  @pytest.mark.ui
47
51
  def test_templates_details(page, predefined_templates):
48
52
  """Verify that workflow template leads to specific template page."""
@@ -66,6 +70,8 @@ def test_templates_details(page, predefined_templates):
66
70
  page.go_back()
67
71
 
68
72
 
73
+ @pytest.mark.workflow_ui
74
+ @pytest.mark.workflow_templates_ui
69
75
  @pytest.mark.ui
70
76
  def test_templates_creation(page, predefined_templates):
71
77
  """Verify that workflow template create button leads to Create Workflow Page."""
@@ -90,6 +96,8 @@ def test_templates_creation(page, predefined_templates):
90
96
  page.go_back()
91
97
 
92
98
 
99
+ @pytest.mark.workflow_ui
100
+ @pytest.mark.workflow_templates_ui
93
101
  @pytest.mark.ui
94
102
  def test_template_create(page, predefined_templates):
95
103
  """Verify that workflow template can be created."""
@@ -4,6 +4,7 @@ from codemie_test_harness.tests.ui.pageobject.workflows.workflows_page import (
4
4
  )
5
5
 
6
6
 
7
+ @pytest.mark.workflow_ui
7
8
  @pytest.mark.ui
8
9
  def test_workflows_page_basic_functionality(page):
9
10
  """Test basic workflows page functionality."""
@@ -14,6 +15,7 @@ def test_workflows_page_basic_functionality(page):
14
15
  workflow_page.should_see_workflow_cards()
15
16
 
16
17
 
18
+ @pytest.mark.workflow_ui
17
19
  @pytest.mark.ui
18
20
  def test_workflow_card_interactions(page):
19
21
  """Test individual workflow card interactions."""
@@ -28,6 +30,7 @@ def test_workflow_card_interactions(page):
28
30
  workflow_card.should_have_menu_button()
29
31
 
30
32
 
33
+ @pytest.mark.workflow_ui
31
34
  @pytest.mark.ui
32
35
  def test_workflow_search_functionality(page):
33
36
  """Test workflow search functionality."""
@@ -39,6 +42,7 @@ def test_workflow_search_functionality(page):
39
42
  workflow_page.should_not_see_new_release_popup()
40
43
 
41
44
 
45
+ @pytest.mark.workflow_ui
42
46
  @pytest.mark.ui
43
47
  def test_workflow_card_by_name(page):
44
48
  """Test getting and interacting with a specific workflow card."""
@@ -52,6 +56,7 @@ def test_workflow_card_by_name(page):
52
56
  workflow_page.should_see_shared_workflow(workflow_name)
53
57
 
54
58
 
59
+ @pytest.mark.workflow_ui
55
60
  @pytest.mark.ui
56
61
  def test_workflow_pagination(page):
57
62
  """Test workflow pagination functionality."""
@@ -64,6 +69,7 @@ def test_workflow_pagination(page):
64
69
  workflow_page.should_see_workflow_cards(minimum_count=12)
65
70
 
66
71
 
72
+ @pytest.mark.workflow_ui
67
73
  @pytest.mark.ui
68
74
  def test_workflow_filtering(page):
69
75
  """Test workflow filtering functionality."""
@@ -75,6 +81,7 @@ def test_workflow_filtering(page):
75
81
  workflow_page.clear_all_filters()
76
82
 
77
83
 
84
+ @pytest.mark.workflow_ui
78
85
  @pytest.mark.ui
79
86
  def test_workflow_navigation(page):
80
87
  """Test navigation between different workflow sections."""
@@ -85,6 +92,7 @@ def test_workflow_navigation(page):
85
92
  workflow_page.sidebar.navigate_to_templates()
86
93
 
87
94
 
95
+ @pytest.mark.workflow_ui
88
96
  @pytest.mark.ui
89
97
  def test_workflow_card_fluent_interface(page):
90
98
  """Test the fluent interface of WorkflowCard component."""
@@ -7,6 +7,9 @@ from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
7
7
  )
8
8
 
9
9
 
10
+ @pytest.mark.workflow
11
+ @pytest.mark.workflow_with_assistant
12
+ @pytest.mark.keycloak
10
13
  @pytest.mark.regression
11
14
  def test_workflow_with_assistant_with_keycloak_tool(
12
15
  assistant,
@@ -14,6 +14,9 @@ from codemie_test_harness.tests.utils.constants import ID_PATTERN
14
14
  from codemie_test_harness.tests.utils.json_utils import extract_id_from_ado_response
15
15
 
16
16
 
17
+ @pytest.mark.workflow
18
+ @pytest.mark.workflow_with_assistant
19
+ @pytest.mark.ado
17
20
  @pytest.mark.regression
18
21
  @pytest.mark.parametrize(
19
22
  "toolkit, tool_name, prompt, expected_response",
@@ -40,6 +43,9 @@ def test_workflow_with_assistant_with_ado_test_plan_get_tools(
40
43
  similarity_check.check_similarity(response, expected_response)
41
44
 
42
45
 
46
+ @pytest.mark.workflow
47
+ @pytest.mark.workflow_with_assistant
48
+ @pytest.mark.ado
43
49
  @pytest.mark.regression
44
50
  def test_workflow_with_assistant_with_ado_test_plan_tools(
45
51
  ado_integration,
@@ -11,6 +11,9 @@ from codemie_test_harness.tests.test_data.ado_wiki_tools_test_data import (
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.workflow_with_assistant
16
+ @pytest.mark.ado
14
17
  @pytest.mark.regression
15
18
  @pytest.mark.parametrize(
16
19
  "toolkit, tool_name, prompt, expected_response",
@@ -37,6 +40,9 @@ def test_workflow_with_assistant_with_ado_wiki_get_tools(
37
40
  similarity_check.check_similarity(response, expected_response)
38
41
 
39
42
 
43
+ @pytest.mark.workflow
44
+ @pytest.mark.workflow_with_assistant
45
+ @pytest.mark.ado
40
46
  @pytest.mark.regression
41
47
  def test_workflow_with_assistant_with_ado_wiki_modify_tools(
42
48
  ado_integration,
@@ -12,6 +12,9 @@ from codemie_test_harness.tests.utils.constants import WORK_ITEM_ID_PATTERN
12
12
  from codemie_test_harness.tests.utils.json_utils import extract_id_from_ado_response
13
13
 
14
14
 
15
+ @pytest.mark.workflow
16
+ @pytest.mark.workflow_with_assistant
17
+ @pytest.mark.ado
15
18
  @pytest.mark.regression
16
19
  @pytest.mark.parametrize(
17
20
  "toolkit, tool_name, prompt, expected_response",
@@ -38,6 +41,9 @@ def test_workflow_with_assistant_with_ado_work_item_get_tools(
38
41
  similarity_check.check_similarity(response, expected_response)
39
42
 
40
43
 
44
+ @pytest.mark.workflow
45
+ @pytest.mark.workflow_with_assistant
46
+ @pytest.mark.ado
41
47
  @pytest.mark.regression
42
48
  def test_workflow_with_assistant_with_ado_work_item_modify_tools(
43
49
  ado_integration,
@@ -4,6 +4,9 @@ from codemie_test_harness.tests.enums.tools import Toolkit, CloudTool
4
4
  from codemie_test_harness.tests.test_data.cloud_tools_test_data import cloud_test_data
5
5
 
6
6
 
7
+ @pytest.mark.workflow
8
+ @pytest.mark.workflow_with_assistant
9
+ @pytest.mark.cloud
7
10
  @pytest.mark.regression
8
11
  @pytest.mark.parametrize(
9
12
  "toolkit,tool_name,credential_type,credentials,prompt,expected_response",
@@ -8,6 +8,9 @@ from codemie_test_harness.tests.test_data.codebase_tools_test_data import (
8
8
  )
9
9
 
10
10
 
11
+ @pytest.mark.workflow
12
+ @pytest.mark.workflow_with_assistant
13
+ @pytest.mark.codebase
11
14
  @pytest.mark.regression
12
15
  @pytest.mark.parametrize(
13
16
  "toolkit,tool_name,prompt,expected_response",
@@ -35,6 +38,8 @@ def test_workflow_with_codebase_tools(
35
38
  similarity_check.check_similarity(response, expected_response)
36
39
 
37
40
 
41
+ @pytest.mark.workflow
42
+ @pytest.mark.workflow_with_assistant
38
43
  @pytest.mark.regression
39
44
  @pytest.mark.parametrize(
40
45
  "toolkit, tool_name, credentials, prompt,expected",
@@ -1,7 +1,6 @@
1
1
  import os
2
2
 
3
3
  import pytest
4
-
5
4
  from codemie_sdk.models.integration import CredentialTypes
6
5
 
7
6
  from codemie_test_harness.tests.enums.integrations import DataBaseDialect
@@ -18,9 +17,15 @@ from codemie_test_harness.tests.test_data.data_management_tools_test_data import
18
17
  )
19
18
  from codemie_test_harness.tests.utils.aws_parameters_store import CredentialsUtil
20
19
 
20
+ pytestmark = pytest.mark.skipif(
21
+ os.getenv("ENV") == "local", reason="Skipping this tests on local environment"
22
+ )
23
+
21
24
 
25
+ @pytest.mark.workflow
26
+ @pytest.mark.workflow_with_assistant
27
+ @pytest.mark.elastic
22
28
  @pytest.mark.regression
23
- @pytest.mark.skip(reason="Credentials for Elastic are not available")
24
29
  def test_workflow_with_assistant_with_elastic_tools(
25
30
  assistant,
26
31
  workflow_with_assistant,
@@ -44,15 +49,15 @@ def test_workflow_with_assistant_with_elastic_tools(
44
49
  similarity_check.check_similarity(response, RESPONSE_FOR_ELASTIC)
45
50
 
46
51
 
52
+ @pytest.mark.workflow
53
+ @pytest.mark.workflow_with_assistant
54
+ @pytest.mark.sql
47
55
  @pytest.mark.regression
48
56
  @pytest.mark.parametrize(
49
57
  "db_dialect",
50
58
  sql_tools_test_data,
51
59
  ids=[DataBaseDialect.MY_SQL, DataBaseDialect.POSTGRES, DataBaseDialect.MS_SQL],
52
60
  )
53
- @pytest.mark.skipif(
54
- os.getenv("ENV") == "local", reason="Skipping this test on local environment"
55
- )
56
61
  def test_workflow_with_assistant_with_sql_tools(
57
62
  assistant,
58
63
  workflow_with_assistant,