codemie-test-harness 0.1.179__py3-none-any.whl → 0.1.180__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 (130) 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 +3 -3
  6. codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +3 -3
  7. codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +5 -5
  8. codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +3 -3
  9. codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +3 -3
  10. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +8 -8
  11. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  12. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  13. codemie_test_harness/tests/assistant/test_assistants.py +22 -22
  14. codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +1 -1
  15. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +2 -2
  16. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +2 -2
  17. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +2 -2
  18. codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +1 -1
  19. codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +2 -2
  20. codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +2 -2
  21. codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +4 -4
  22. codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +7 -7
  23. codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +2 -2
  24. codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +2 -2
  25. codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +2 -2
  26. codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +1 -1
  27. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +2 -2
  28. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +2 -2
  29. codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +1 -1
  30. codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +6 -6
  31. codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +1 -1
  32. codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +2 -2
  33. codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +1 -1
  34. codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +1 -1
  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/integrations/project/test_default_integrations.py +14 -14
  38. codemie_test_harness/tests/integrations/project/test_project_integrations.py +9 -9
  39. codemie_test_harness/tests/integrations/user/test_default_integrations.py +14 -14
  40. codemie_test_harness/tests/integrations/user/test_user_integrations.py +12 -12
  41. codemie_test_harness/tests/llm/assistants/test_lite_llm.py +2 -2
  42. codemie_test_harness/tests/llm/assistants/test_llm.py +3 -3
  43. codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -11
  44. codemie_test_harness/tests/search/test_search_assistant.py +1 -1
  45. codemie_test_harness/tests/search/test_search_datasource.py +5 -5
  46. codemie_test_harness/tests/search/test_search_integration.py +2 -2
  47. codemie_test_harness/tests/search/test_search_workflow.py +1 -1
  48. codemie_test_harness/tests/service/test_assistant_service.py +1 -1
  49. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +11 -5
  50. codemie_test_harness/tests/ui/assistants/test_create_assistant.py +11 -11
  51. codemie_test_harness/tests/ui/datasource/test_create_datasource.py +7 -7
  52. codemie_test_harness/tests/ui/datasource/test_datasource_page.py +3 -3
  53. codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +5 -5
  54. codemie_test_harness/tests/ui/datasource/test_view_datasource.py +5 -5
  55. codemie_test_harness/tests/ui/integrations/test_create_integration.py +9 -9
  56. codemie_test_harness/tests/ui/workflows/test_create_workflow.py +12 -12
  57. codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +15 -15
  58. codemie_test_harness/tests/ui/workflows/test_workflow_details.py +19 -19
  59. codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +36 -36
  60. codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +8 -8
  61. codemie_test_harness/tests/ui/workflows/test_workflows.py +8 -8
  62. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +1 -1
  63. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +2 -2
  64. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +2 -2
  65. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +2 -2
  66. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +1 -1
  67. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +2 -2
  68. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +2 -2
  69. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  70. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  71. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  72. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +5 -5
  73. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +7 -7
  74. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +3 -3
  75. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +2 -2
  76. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +1 -1
  77. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +2 -2
  78. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +2 -2
  79. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +1 -1
  80. codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +1 -1
  81. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +2 -2
  82. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  83. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +1 -1
  84. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +1 -1
  85. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +8 -8
  86. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  87. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +3 -3
  88. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +3 -3
  89. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +3 -3
  90. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +3 -3
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +3 -3
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +3 -3
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +3 -3
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +3 -3
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +3 -3
  96. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -3
  97. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +3 -3
  98. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +4 -4
  99. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +3 -3
  100. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +3 -3
  101. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +3 -3
  102. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +3 -3
  103. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -3
  104. codemie_test_harness/tests/workflow/test_workflows.py +1 -1
  105. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +1 -1
  106. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +2 -2
  107. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +2 -2
  108. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +2 -2
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +4 -4
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +2 -2
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +2 -2
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +5 -5
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +7 -7
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +3 -3
  118. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +4 -4
  119. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +2 -2
  120. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +2 -2
  121. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +2 -2
  122. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +2 -2
  123. codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +1 -1
  124. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +2 -2
  125. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  126. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +1 -1
  127. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.180.dist-info}/METADATA +8 -8
  128. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.180.dist-info}/RECORD +130 -128
  129. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.180.dist-info}/WHEEL +0 -0
  130. {codemie_test_harness-0.1.179.dist-info → codemie_test_harness-0.1.180.dist-info}/entry_points.txt +0 -0
@@ -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,
@@ -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
  ]
@@ -20,7 +20,7 @@ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import
20
20
  from codemie_test_harness.tests.utils.constants import FILES_PATH
21
21
 
22
22
 
23
- @pytest.mark.datasource_ui
23
+ @pytest.mark.datasource
24
24
  @pytest.mark.ui
25
25
  def test_open_create_datasource_page_and_elements(page):
26
26
  """Open Create Datasource page and verify critical elements."""
@@ -49,7 +49,7 @@ def test_open_create_datasource_page_and_elements(page):
49
49
  create_page.should_see_google_fields()
50
50
 
51
51
 
52
- @pytest.mark.datasource_ui
52
+ @pytest.mark.datasource
53
53
  @pytest.mark.ui
54
54
  def test_datasource_creation_validation(page):
55
55
  """Test create datasource without data and observing errors."""
@@ -77,7 +77,7 @@ def test_datasource_creation_validation(page):
77
77
  create_page.should_see_error_for_empty_google_fields()
78
78
 
79
79
 
80
- @pytest.mark.datasource_ui
80
+ @pytest.mark.datasource
81
81
  @pytest.mark.ui
82
82
  def test_create_git_datasource(page, git_integration):
83
83
  """Test creating a new datasource with all required fields."""
@@ -101,7 +101,7 @@ def test_create_git_datasource(page, git_integration):
101
101
  )
102
102
 
103
103
 
104
- @pytest.mark.datasource_ui
104
+ @pytest.mark.datasource
105
105
  @pytest.mark.ui
106
106
  def test_create_confluence_datasource(page, confluence_integration):
107
107
  """Test creating a new datasource with all required fields."""
@@ -124,7 +124,7 @@ def test_create_confluence_datasource(page, confluence_integration):
124
124
  )
125
125
 
126
126
 
127
- @pytest.mark.datasource_ui
127
+ @pytest.mark.datasource
128
128
  @pytest.mark.ui
129
129
  def test_create_jira_datasource(page, jira_integration):
130
130
  """Test creating a new datasource with all required fields."""
@@ -147,7 +147,7 @@ def test_create_jira_datasource(page, jira_integration):
147
147
  )
148
148
 
149
149
 
150
- @pytest.mark.datasource_ui
150
+ @pytest.mark.datasource
151
151
  @pytest.mark.ui
152
152
  def test_create_file_datasource(page):
153
153
  """Test creating a new datasource with all required fields."""
@@ -169,7 +169,7 @@ def test_create_file_datasource(page):
169
169
  )
170
170
 
171
171
 
172
- @pytest.mark.datasource_ui
172
+ @pytest.mark.datasource
173
173
  @pytest.mark.ui
174
174
  def test_create_google_datasource(page):
175
175
  """Test creating a new datasource with all required fields."""
@@ -11,7 +11,7 @@ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
11
11
  )
12
12
 
13
13
 
14
- @pytest.mark.datasource_ui
14
+ @pytest.mark.datasource
15
15
  @pytest.mark.ui
16
16
  def test_datasource_sidebar_interaction(page):
17
17
  """Test sidebar filters interactions."""
@@ -35,7 +35,7 @@ def test_datasource_sidebar_interaction(page):
35
35
  datasource_page.sidebar.click_clear_all_button().should_see_cleared_filters()
36
36
 
37
37
 
38
- @pytest.mark.datasource_ui
38
+ @pytest.mark.datasource
39
39
  @pytest.mark.ui
40
40
  def test_datasource_sidebar_hiding_elements(page):
41
41
  """Test sidebar filters hiding."""
@@ -48,7 +48,7 @@ def test_datasource_sidebar_hiding_elements(page):
48
48
  datasource_page.sidebar.click_status_filter_hide_button().should_not_see_status_filters()
49
49
 
50
50
 
51
- @pytest.mark.datasource_ui
51
+ @pytest.mark.datasource
52
52
  @pytest.mark.ui
53
53
  def test_datasource_page_elements_visibility(page):
54
54
  """Test DataSource index page and sidebar elements are visible."""
@@ -18,7 +18,7 @@ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import
18
18
  from codemie_test_harness.tests.utils.constants import FILES_PATH
19
19
 
20
20
 
21
- @pytest.mark.datasource_ui
21
+ @pytest.mark.datasource
22
22
  @pytest.mark.ui
23
23
  def test_edit_git_datasource(
24
24
  page, datasource_utils, git_integration, default_embedding_llm
@@ -54,7 +54,7 @@ def test_edit_git_datasource(
54
54
  edit_page.should_see_save_reindex_button()
55
55
 
56
56
 
57
- @pytest.mark.datasource_ui
57
+ @pytest.mark.datasource
58
58
  @pytest.mark.ui
59
59
  def test_edit_confluence_datasource(page, datasource_utils, confluence_integration):
60
60
  """Test that all main Edit Datasource page elements are visible."""
@@ -87,7 +87,7 @@ def test_edit_confluence_datasource(page, datasource_utils, confluence_integrati
87
87
  edit_page.should_see_save_reindex_button()
88
88
 
89
89
 
90
- @pytest.mark.datasource_ui
90
+ @pytest.mark.datasource
91
91
  @pytest.mark.ui
92
92
  def test_edit_jira_datasource(page, datasource_utils, jira_integration):
93
93
  """Test that all main Edit Datasource page elements are visible."""
@@ -120,7 +120,7 @@ def test_edit_jira_datasource(page, datasource_utils, jira_integration):
120
120
  edit_page.should_see_save_reindex_button()
121
121
 
122
122
 
123
- @pytest.mark.datasource_ui
123
+ @pytest.mark.datasource
124
124
  @pytest.mark.ui
125
125
  def test_edit_file_datasource(page, datasource_utils):
126
126
  """Test that all main Edit Datasource page elements are visible."""
@@ -151,7 +151,7 @@ def test_edit_file_datasource(page, datasource_utils):
151
151
  edit_page.should_see_disabled_name_input(datasource.name)
152
152
 
153
153
 
154
- @pytest.mark.datasource_ui
154
+ @pytest.mark.datasource
155
155
  @pytest.mark.ui
156
156
  def test_edit_google_datasource(page, datasource_utils):
157
157
  """Test that all main Edit Datasource page elements are visible."""
@@ -21,7 +21,7 @@ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
21
21
  from codemie_test_harness.tests.utils.constants import FILES_PATH
22
22
 
23
23
 
24
- @pytest.mark.datasource_ui
24
+ @pytest.mark.datasource
25
25
  @pytest.mark.ui
26
26
  def test_view_git_datasource_page(
27
27
  page, datasource_utils, git_integration, default_embedding_llm, client
@@ -62,7 +62,7 @@ def test_view_git_datasource_page(
62
62
  view_page.should_open_and_see_processed_data()
63
63
 
64
64
 
65
- @pytest.mark.datasource_ui
65
+ @pytest.mark.datasource
66
66
  @pytest.mark.ui
67
67
  def test_view_confluence_datasource_page(
68
68
  page, datasource_utils, confluence_integration, default_embedding_llm, client
@@ -102,7 +102,7 @@ def test_view_confluence_datasource_page(
102
102
  view_page.should_see_processed_data()
103
103
 
104
104
 
105
- @pytest.mark.datasource_ui
105
+ @pytest.mark.datasource
106
106
  @pytest.mark.ui
107
107
  def test_view_jira_datasource_page(
108
108
  page, datasource_utils, jira_integration, default_embedding_llm, client
@@ -142,7 +142,7 @@ def test_view_jira_datasource_page(
142
142
  view_page.should_see_processed_data()
143
143
 
144
144
 
145
- @pytest.mark.datasource_ui
145
+ @pytest.mark.datasource
146
146
  @pytest.mark.ui
147
147
  def test_view_file_datasource_page(
148
148
  page, datasource_utils, default_embedding_llm, client
@@ -182,7 +182,7 @@ def test_view_file_datasource_page(
182
182
  view_page.should_see_processed_data()
183
183
 
184
184
 
185
- @pytest.mark.datasource_ui
185
+ @pytest.mark.datasource
186
186
  @pytest.mark.ui
187
187
  def test_view_google_datasource_page(
188
188
  page, datasource_utils, default_embedding_llm, client
@@ -23,7 +23,7 @@ from codemie_test_harness.tests.ui.pageobject.integrations.integrations_page imp
23
23
  class TestCreateIntegrationNavigation:
24
24
  """Test class for integration creation navigation and page access."""
25
25
 
26
- @pytest.mark.integration_ui
26
+ @pytest.mark.integration
27
27
  @pytest.mark.ui
28
28
  @pytest.mark.smoke
29
29
  def test_navigate_to_integrations_via_menu(self, page):
@@ -46,7 +46,7 @@ class TestCreateIntegrationNavigation:
46
46
  integrations_page.should_see_integration_type_switcher()
47
47
  integrations_page.should_see_integrations_table()
48
48
 
49
- @pytest.mark.integration_ui
49
+ @pytest.mark.integration
50
50
  @pytest.mark.ui
51
51
  @pytest.mark.smoke
52
52
  def test_navigate_to_create_integration_via_direct_url(self, page):
@@ -72,7 +72,7 @@ class TestCreateIntegrationNavigation:
72
72
  # Assert
73
73
  create_integration_page.should_be_on_create_project_integration_page()
74
74
 
75
- @pytest.mark.integration_ui
75
+ @pytest.mark.integration
76
76
  @pytest.mark.ui
77
77
  @pytest.mark.smoke
78
78
  def test_navigate_to_create_integration_from_integrations_page(self, page):
@@ -105,7 +105,7 @@ class TestCreateIntegrationNavigation:
105
105
  class TestIntegrationCreationPageElements:
106
106
  """Test class for integration creation page elements display."""
107
107
 
108
- @pytest.mark.integration_ui
108
+ @pytest.mark.integration
109
109
  @pytest.mark.ui
110
110
  @pytest.mark.smoke
111
111
  @pytest.mark.parametrize(
@@ -163,7 +163,7 @@ class TestIntegrationCreationPageElements:
163
163
  class TestIntegrationCreationWorkflow:
164
164
  """Test class for the complete integration creation workflow."""
165
165
 
166
- @pytest.mark.integration_ui
166
+ @pytest.mark.integration
167
167
  @pytest.mark.ui
168
168
  @pytest.mark.smoke
169
169
  def test_create_git_integration_complete_workflow(self, page):
@@ -191,7 +191,7 @@ class TestIntegrationCreationWorkflow:
191
191
  .should_see_specific_integration(integration_test_data.alias)
192
192
  )
193
193
 
194
- @pytest.mark.integration_ui
194
+ @pytest.mark.integration
195
195
  @pytest.mark.ui
196
196
  @pytest.mark.smoke
197
197
  def test_create_jira_integration_complete_workflow(self, page):
@@ -224,7 +224,7 @@ class TestIntegrationCreationWorkflow:
224
224
  .should_see_specific_integration(integration_test_data.alias)
225
225
  )
226
226
 
227
- @pytest.mark.integration_ui
227
+ @pytest.mark.integration
228
228
  @pytest.mark.ui
229
229
  @pytest.mark.smoke
230
230
  def test_create_confluence_integration_complete_workflow(self, page):
@@ -262,7 +262,7 @@ class TestIntegrationCreationWorkflow:
262
262
  class TestIntegrationFormUserExperience:
263
263
  """Test class for integration form user experience and usability."""
264
264
 
265
- @pytest.mark.integration_ui
265
+ @pytest.mark.integration
266
266
  @pytest.mark.ui
267
267
  @pytest.mark.smoke
268
268
  def test_form_reset_and_cancel_functionality(self, page):
@@ -290,7 +290,7 @@ class TestIntegrationFormUserExperience:
290
290
  # Verify the cancelled integration was not created
291
291
  integrations_page.should_not_see_integration(cancelled_integration_alias)
292
292
 
293
- @pytest.mark.integration_ui
293
+ @pytest.mark.integration
294
294
  @pytest.mark.ui
295
295
  @pytest.mark.smoke
296
296
  def test_alias_field_validation_message(self, page):
@@ -11,7 +11,7 @@ from codemie_test_harness.tests.ui.pageobject.workflows.create_workflow_page imp
11
11
  from codemie_test_harness.tests.utils.base_utils import get_random_name
12
12
 
13
13
 
14
- @pytest.mark.workflow_ui
14
+ @pytest.mark.workflow
15
15
  @pytest.mark.ui
16
16
  def test_create_workflow_page_elements_visibility(page):
17
17
  """Test that all main elements are visible on Create Workflow page."""
@@ -34,7 +34,7 @@ def test_create_workflow_page_elements_visibility(page):
34
34
  create_page.sidebar.should_have_workflows_title()
35
35
 
36
36
 
37
- @pytest.mark.workflow_ui
37
+ @pytest.mark.workflow
38
38
  @pytest.mark.ui
39
39
  def test_create_workflow_form_interactions(page):
40
40
  """Test form field interactions and input validation."""
@@ -65,7 +65,7 @@ def test_create_workflow_form_interactions(page):
65
65
  create_page.should_have_shared_switch_unchecked()
66
66
 
67
67
 
68
- @pytest.mark.workflow_ui
68
+ @pytest.mark.workflow
69
69
  @pytest.mark.ui
70
70
  def test_create_workflow_dropdowns_interaction(page):
71
71
  """Test dropdown interactions for project."""
@@ -80,7 +80,7 @@ def test_create_workflow_dropdowns_interaction(page):
80
80
  create_page.should_see_project_selected(os.getenv("PROJECT_NAME"))
81
81
 
82
82
 
83
- @pytest.mark.workflow_ui
83
+ @pytest.mark.workflow
84
84
  @pytest.mark.ui
85
85
  def test_create_workflow_yaml_editor_functionality(page):
86
86
  """Test YAML editor functionality."""
@@ -102,7 +102,7 @@ def test_create_workflow_yaml_editor_functionality(page):
102
102
  create_page.should_have_entered_yaml_configuration(test_yaml)
103
103
 
104
104
 
105
- @pytest.mark.workflow_ui
105
+ @pytest.mark.workflow
106
106
  @pytest.mark.ui
107
107
  def test_create_workflow_visualization_section(page):
108
108
  """Test workflow visualization section functionality."""
@@ -119,7 +119,7 @@ def test_create_workflow_visualization_section(page):
119
119
  create_page.should_have_visualization_section_visible()
120
120
 
121
121
 
122
- @pytest.mark.workflow_ui
122
+ @pytest.mark.workflow
123
123
  @pytest.mark.ui
124
124
  def test_create_workflow_navigation_buttons(page):
125
125
  """Test navigation button interactions."""
@@ -142,7 +142,7 @@ def test_create_workflow_navigation_buttons(page):
142
142
  create_page.should_have_url_containing("#/workflows/my")
143
143
 
144
144
 
145
- @pytest.mark.workflow_ui
145
+ @pytest.mark.workflow
146
146
  @pytest.mark.ui
147
147
  def test_create_workflow_sidebar_functionality(page):
148
148
  """Test sidebar functionality from Create Workflow page."""
@@ -164,7 +164,7 @@ def test_create_workflow_sidebar_functionality(page):
164
164
  create_page.should_have_url_containing("#/workflows/all")
165
165
 
166
166
 
167
- @pytest.mark.workflow_ui
167
+ @pytest.mark.workflow
168
168
  @pytest.mark.ui
169
169
  def test_create_workflow_menu_navigation(page):
170
170
  """Test menu navigation from Create Workflow page."""
@@ -186,7 +186,7 @@ def test_create_workflow_menu_navigation(page):
186
186
  create_page.should_have_url_containing("#/workflows")
187
187
 
188
188
 
189
- @pytest.mark.workflow_ui
189
+ @pytest.mark.workflow
190
190
  @pytest.mark.ui
191
191
  def test_create_workflow_default_field_values(page):
192
192
  """Test default field values on page load."""
@@ -202,7 +202,7 @@ def test_create_workflow_default_field_values(page):
202
202
  create_page.should_have_shared_switch_unchecked()
203
203
 
204
204
 
205
- @pytest.mark.workflow_ui
205
+ @pytest.mark.workflow
206
206
  @pytest.mark.ui
207
207
  def test_create_workflow_button_states(page):
208
208
  """Test create button enabled/disabled states."""
@@ -221,7 +221,7 @@ def test_create_workflow_button_states(page):
221
221
  create_page.should_have_create_button_disabled()
222
222
 
223
223
 
224
- @pytest.mark.workflow_ui
224
+ @pytest.mark.workflow
225
225
  @pytest.mark.ui
226
226
  def test_create_workflow_form_validation(page):
227
227
  """Test form validation scenarios."""
@@ -238,7 +238,7 @@ def test_create_workflow_form_validation(page):
238
238
  )
239
239
 
240
240
 
241
- @pytest.mark.workflow_ui
241
+ @pytest.mark.workflow
242
242
  @pytest.mark.ui
243
243
  def test_create_workflow_complete_workflow_creation(page):
244
244
  """Test complete workflow creation using the create_workflow method."""
@@ -50,7 +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
+ @pytest.mark.workflow
54
54
  @pytest.mark.ui
55
55
  def test_edit_workflow_page_elements_visibility(page, test_workflow):
56
56
  """Test that all main elements are visible on Edit Workflow page."""
@@ -72,7 +72,7 @@ def test_edit_workflow_page_elements_visibility(page, test_workflow):
72
72
  edit_page.sidebar.should_have_workflows_title()
73
73
 
74
74
 
75
- @pytest.mark.workflow_ui
75
+ @pytest.mark.workflow
76
76
  @pytest.mark.ui
77
77
  def test_edit_workflow_form_pre_populated_data(page, test_workflow):
78
78
  """Test that form fields are pre-populated with existing workflow data."""
@@ -90,7 +90,7 @@ def test_edit_workflow_form_pre_populated_data(page, test_workflow):
90
90
  edit_page.should_have_yaml_editor_with_content(test_workflow.yaml_config)
91
91
 
92
92
 
93
- @pytest.mark.workflow_ui
93
+ @pytest.mark.workflow
94
94
  @pytest.mark.ui
95
95
  def test_edit_workflow_form_interactions(page, test_workflow):
96
96
  """Test form field interactions and input validation."""
@@ -121,7 +121,7 @@ def test_edit_workflow_form_interactions(page, test_workflow):
121
121
  edit_page.should_have_shared_switch_checked()
122
122
 
123
123
 
124
- @pytest.mark.workflow_ui
124
+ @pytest.mark.workflow
125
125
  @pytest.mark.ui
126
126
  def test_edit_workflow_dropdowns_interaction(page, test_workflow):
127
127
  """Test dropdown interactions for project."""
@@ -136,7 +136,7 @@ def test_edit_workflow_dropdowns_interaction(page, test_workflow):
136
136
  edit_page.should_see_project_selected(os.getenv("PROJECT_NAME"))
137
137
 
138
138
 
139
- @pytest.mark.workflow_ui
139
+ @pytest.mark.workflow
140
140
  @pytest.mark.ui
141
141
  def test_edit_workflow_yaml_tabs_functionality(page, test_workflow):
142
142
  """Test YAML configuration tabs functionality."""
@@ -158,7 +158,7 @@ def test_edit_workflow_yaml_tabs_functionality(page, test_workflow):
158
158
  edit_page.should_have_current_version_tab_active()
159
159
 
160
160
 
161
- @pytest.mark.workflow_ui
161
+ @pytest.mark.workflow
162
162
  @pytest.mark.ui
163
163
  def test_edit_workflow_yaml_editor_functionality(page, test_workflow):
164
164
  """Test YAML editor functionality."""
@@ -177,7 +177,7 @@ def test_edit_workflow_yaml_editor_functionality(page, test_workflow):
177
177
  edit_page.should_have_yaml_editor_with_content(new_yaml_config)
178
178
 
179
179
 
180
- @pytest.mark.workflow_ui
180
+ @pytest.mark.workflow
181
181
  @pytest.mark.ui
182
182
  def test_edit_workflow_visualization_section(page, test_workflow):
183
183
  """Test workflow visualization section functionality."""
@@ -195,7 +195,7 @@ def test_edit_workflow_visualization_section(page, test_workflow):
195
195
 
196
196
 
197
197
  @pytest.mark.skip(reason="Need to rewrite whole case")
198
- @pytest.mark.workflow_ui
198
+ @pytest.mark.workflow
199
199
  @pytest.mark.ui
200
200
  def test_edit_workflow_navigation_buttons(page, test_workflow):
201
201
  """Test navigation button interactions."""
@@ -213,7 +213,7 @@ def test_edit_workflow_navigation_buttons(page, test_workflow):
213
213
  edit_page.should_have_url_containing("#/workflows/my")
214
214
 
215
215
 
216
- @pytest.mark.workflow_ui
216
+ @pytest.mark.workflow
217
217
  @pytest.mark.ui
218
218
  def test_edit_workflow_sidebar_functionality(page, test_workflow):
219
219
  """Test sidebar functionality from Edit Workflow page."""
@@ -235,7 +235,7 @@ def test_edit_workflow_sidebar_functionality(page, test_workflow):
235
235
  edit_page.should_have_url_containing("#/workflows/all")
236
236
 
237
237
 
238
- @pytest.mark.workflow_ui
238
+ @pytest.mark.workflow
239
239
  @pytest.mark.ui
240
240
  def test_edit_workflow_menu_navigation(page, test_workflow):
241
241
  """Test menu navigation from Edit Workflow page."""
@@ -257,7 +257,7 @@ def test_edit_workflow_menu_navigation(page, test_workflow):
257
257
  edit_page.should_have_url_containing("#/workflows/my")
258
258
 
259
259
 
260
- @pytest.mark.workflow_ui
260
+ @pytest.mark.workflow
261
261
  @pytest.mark.ui
262
262
  def test_edit_workflow_data_persistence_across_tabs(page, test_workflow):
263
263
  """Test that form data persists when switching between tabs."""
@@ -275,7 +275,7 @@ def test_edit_workflow_data_persistence_across_tabs(page, test_workflow):
275
275
  edit_page.should_preserve_form_data_after_tab_switch(test_name, test_description)
276
276
 
277
277
 
278
- @pytest.mark.workflow_ui
278
+ @pytest.mark.workflow
279
279
  @pytest.mark.ui
280
280
  def test_edit_workflow_button_states(page, test_workflow):
281
281
  """Test update button enabled/disabled states."""
@@ -294,7 +294,7 @@ def test_edit_workflow_button_states(page, test_workflow):
294
294
  edit_page.should_have_update_button_enabled()
295
295
 
296
296
 
297
- @pytest.mark.workflow_ui
297
+ @pytest.mark.workflow
298
298
  @pytest.mark.ui
299
299
  def test_edit_workflow_form_validation(page, test_workflow):
300
300
  """Test form validation scenarios."""
@@ -308,7 +308,7 @@ def test_edit_workflow_form_validation(page, test_workflow):
308
308
  edit_page.should_show_validation_error_for_icon_url("Icon URL must be a valid URL")
309
309
 
310
310
 
311
- @pytest.mark.workflow_ui
311
+ @pytest.mark.workflow
312
312
  @pytest.mark.ui
313
313
  def test_edit_workflow_complete_update(page, test_workflow):
314
314
  """Test complete workflow update using the update_workflow method."""
@@ -344,7 +344,7 @@ def test_edit_workflow_complete_update(page, test_workflow):
344
344
  edit_page.should_have_yaml_editor_with_content(test_workflow.yaml_config)
345
345
 
346
346
 
347
- @pytest.mark.workflow_ui
347
+ @pytest.mark.workflow
348
348
  @pytest.mark.ui
349
349
  def test_edit_workflow_history_tab_functionality(page, test_workflow):
350
350
  """Test the complete history tab functionality: edit YAML, save, return to edit, click history, restore from history, check restoration."""