codemie-test-harness 0.1.178__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 (135) 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 +10 -10
  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/{mcp → 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/ado_work_item_tools_test_data.py +3 -3
  50. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +11 -5
  51. codemie_test_harness/tests/ui/assistants/test_create_assistant.py +11 -11
  52. codemie_test_harness/tests/ui/datasource/test_create_datasource.py +19 -16
  53. codemie_test_harness/tests/ui/datasource/test_datasource_page.py +5 -5
  54. codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +15 -11
  55. codemie_test_harness/tests/ui/datasource/test_view_datasource.py +11 -9
  56. codemie_test_harness/tests/ui/integrations/test_create_integration.py +9 -9
  57. codemie_test_harness/tests/ui/pageobject/datasources/create_edit_datasource_page.py +12 -5
  58. codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +6 -2
  59. codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +2 -2
  60. codemie_test_harness/tests/ui/pageobject/datasources/view_datasource_page.py +3 -1
  61. codemie_test_harness/tests/ui/workflows/test_create_workflow.py +12 -12
  62. codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +15 -15
  63. codemie_test_harness/tests/ui/workflows/test_workflow_details.py +19 -19
  64. codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +36 -36
  65. codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +8 -8
  66. codemie_test_harness/tests/ui/workflows/test_workflows.py +8 -8
  67. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +1 -1
  68. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +2 -2
  69. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +2 -2
  70. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +2 -2
  71. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +1 -1
  72. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +2 -2
  73. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +2 -2
  74. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  75. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +10 -10
  76. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  77. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +5 -5
  78. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +7 -7
  79. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +3 -3
  80. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +2 -2
  81. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +1 -1
  82. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +2 -2
  83. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +2 -2
  84. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +1 -1
  85. codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +1 -1
  86. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +2 -2
  87. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  88. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +1 -1
  89. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +1 -1
  90. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +8 -8
  91. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +8 -8
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +3 -3
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +3 -3
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +3 -3
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +3 -3
  96. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +3 -3
  97. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +3 -3
  98. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +3 -3
  99. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +3 -3
  100. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +3 -3
  101. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -3
  102. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +3 -3
  103. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +4 -4
  104. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +3 -3
  105. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +3 -3
  106. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +3 -3
  107. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +3 -3
  108. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +5 -3
  109. codemie_test_harness/tests/workflow/test_workflows.py +1 -1
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +1 -1
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +2 -2
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +2 -2
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +2 -2
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +4 -4
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +2 -2
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +2 -2
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +8 -8
  118. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +10 -10
  119. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +8 -8
  120. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +5 -5
  121. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +7 -7
  122. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +3 -3
  123. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +4 -4
  124. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +2 -2
  125. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +2 -2
  126. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +2 -2
  127. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +2 -2
  128. codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +1 -1
  129. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +2 -2
  130. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +1 -1
  131. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +1 -1
  132. {codemie_test_harness-0.1.178.dist-info → codemie_test_harness-0.1.180.dist-info}/METADATA +8 -8
  133. {codemie_test_harness-0.1.178.dist-info → codemie_test_harness-0.1.180.dist-info}/RECORD +135 -133
  134. {codemie_test_harness-0.1.178.dist-info → codemie_test_harness-0.1.180.dist-info}/WHEEL +0 -0
  135. {codemie_test_harness-0.1.178.dist-info → codemie_test_harness-0.1.180.dist-info}/entry_points.txt +0 -0
@@ -56,7 +56,7 @@ def validate_assistant_full_response(assistant):
56
56
  )
57
57
 
58
58
 
59
- @pytest.mark.regression
59
+ @pytest.mark.api
60
60
  def test_get_tools(assistant_utils):
61
61
  toolkits = assistant_utils.get_assistant_tools()
62
62
 
@@ -134,12 +134,12 @@ ADO_WORK_ITEM_UPDATE = {
134
134
 
135
135
  ADO_WORK_ITEM_LINK = {
136
136
  "prompt_to_assistant": """
137
- Run {{'source_id': {}, 'target_id': 5296, 'link_type': 'System.LinkTypes.Hierarchy-Reverse'}} to
138
- link the Work Items with the ID 5296 to be the parent of Work Item with ID '{}' in
137
+ Run {{'source_id': {}, 'target_id': 5297, 'link_type': 'System.LinkTypes.Hierarchy-Reverse'}} to
138
+ link the Work Items with the ID 5297 to be the parent of Work Item with ID '{}' in
139
139
  the project 'CodemieAnton'
140
140
  """,
141
141
  "expected_llm_answer": """
142
- The Work Item with ID 5296 has been successfully linked as the parent of the Work Item with ID `{}`
142
+ The Work Item with ID 5297 has been successfully linked as the parent of the Work Item with ID `{}`
143
143
  using the `System.LinkTypes.Hierarchy-Reverse` link type.
144
144
  """,
145
145
  }
@@ -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
  ]
@@ -1,23 +1,26 @@
1
1
  import pytest
2
- from tests import CredentialsManager, PROJECT, TEST_USER
3
- from tests.test_data.google_datasource_test_data import GOOGLE_DOC_URL
4
- from tests.ui._test_data.datasource_test_data import (
2
+ from codemie_test_harness.tests import CredentialsManager, PROJECT, TEST_USER
3
+ from codemie_test_harness.tests.test_data.google_datasource_test_data import (
4
+ GOOGLE_DOC_URL,
5
+ )
6
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
5
7
  DataSourceType,
6
8
  DataSourceFilterType,
7
9
  DataSourceStatus,
8
- )
9
- from tests.ui._test_data.datasource_test_data import (
10
- TITLE_CREATE_DATASOURCE,
11
10
  SUBTITLE_CREATE_DATASOURCE,
11
+ TITLE_CREATE_DATASOURCE,
12
12
  )
13
- from tests.ui.pageobject.datasources.create_edit_datasource_page import (
13
+ from codemie_test_harness.tests.ui.pageobject.datasources.create_edit_datasource_page import (
14
14
  CreateEditDatasourcePage,
15
15
  )
16
- from tests.ui.pageobject.datasources.datasource_page import DataSourcePage
17
- from tests.utils.constants import FILES_PATH
16
+
17
+ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import (
18
+ DataSourcePage,
19
+ )
20
+ from codemie_test_harness.tests.utils.constants import FILES_PATH
18
21
 
19
22
 
20
- @pytest.mark.datasource_ui
23
+ @pytest.mark.datasource
21
24
  @pytest.mark.ui
22
25
  def test_open_create_datasource_page_and_elements(page):
23
26
  """Open Create Datasource page and verify critical elements."""
@@ -46,7 +49,7 @@ def test_open_create_datasource_page_and_elements(page):
46
49
  create_page.should_see_google_fields()
47
50
 
48
51
 
49
- @pytest.mark.datasource_ui
52
+ @pytest.mark.datasource
50
53
  @pytest.mark.ui
51
54
  def test_datasource_creation_validation(page):
52
55
  """Test create datasource without data and observing errors."""
@@ -74,7 +77,7 @@ def test_datasource_creation_validation(page):
74
77
  create_page.should_see_error_for_empty_google_fields()
75
78
 
76
79
 
77
- @pytest.mark.datasource_ui
80
+ @pytest.mark.datasource
78
81
  @pytest.mark.ui
79
82
  def test_create_git_datasource(page, git_integration):
80
83
  """Test creating a new datasource with all required fields."""
@@ -98,7 +101,7 @@ def test_create_git_datasource(page, git_integration):
98
101
  )
99
102
 
100
103
 
101
- @pytest.mark.datasource_ui
104
+ @pytest.mark.datasource
102
105
  @pytest.mark.ui
103
106
  def test_create_confluence_datasource(page, confluence_integration):
104
107
  """Test creating a new datasource with all required fields."""
@@ -121,7 +124,7 @@ def test_create_confluence_datasource(page, confluence_integration):
121
124
  )
122
125
 
123
126
 
124
- @pytest.mark.datasource_ui
127
+ @pytest.mark.datasource
125
128
  @pytest.mark.ui
126
129
  def test_create_jira_datasource(page, jira_integration):
127
130
  """Test creating a new datasource with all required fields."""
@@ -144,7 +147,7 @@ def test_create_jira_datasource(page, jira_integration):
144
147
  )
145
148
 
146
149
 
147
- @pytest.mark.datasource_ui
150
+ @pytest.mark.datasource
148
151
  @pytest.mark.ui
149
152
  def test_create_file_datasource(page):
150
153
  """Test creating a new datasource with all required fields."""
@@ -166,7 +169,7 @@ def test_create_file_datasource(page):
166
169
  )
167
170
 
168
171
 
169
- @pytest.mark.datasource_ui
172
+ @pytest.mark.datasource
170
173
  @pytest.mark.ui
171
174
  def test_create_google_datasource(page):
172
175
  """Test creating a new datasource with all required fields."""
@@ -4,14 +4,14 @@ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import
4
4
  DataSourcePage,
5
5
  )
6
6
  from codemie_test_harness.tests.utils.base_utils import get_random_name
7
- from tests import TEST_USER
8
- from tests.ui._test_data.datasource_test_data import (
7
+ from codemie_test_harness.tests import TEST_USER
8
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
9
9
  MAIN_TITLE_DATASOURCE,
10
10
  MAIN_SUBTITLE_DATASOURCE,
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."""
@@ -1,20 +1,24 @@
1
1
  import pytest
2
- from tests import PROJECT, TEST_USER
3
- from tests.test_data.google_datasource_test_data import GOOGLE_DOC_URL
4
- from tests.ui._test_data.datasource_test_data import (
2
+ from codemie_test_harness.tests import PROJECT, TEST_USER
3
+ from codemie_test_harness.tests.test_data.google_datasource_test_data import (
4
+ GOOGLE_DOC_URL,
5
+ )
6
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
5
7
  DataSourceStatus,
6
8
  DataSourceFilterType,
7
9
  UPDATE_SUBTITLE_DATASOURCE,
8
10
  UPDATE_TITLE_DATASOURCE,
9
11
  )
10
- from tests.ui.pageobject.datasources.create_edit_datasource_page import (
12
+ from codemie_test_harness.tests.ui.pageobject.datasources.create_edit_datasource_page import (
11
13
  CreateEditDatasourcePage,
12
14
  )
13
- from tests.ui.pageobject.datasources.datasource_page import DataSourcePage
14
- from tests.utils.constants import FILES_PATH
15
+ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import (
16
+ DataSourcePage,
17
+ )
18
+ from codemie_test_harness.tests.utils.constants import FILES_PATH
15
19
 
16
20
 
17
- @pytest.mark.datasource_ui
21
+ @pytest.mark.datasource
18
22
  @pytest.mark.ui
19
23
  def test_edit_git_datasource(
20
24
  page, datasource_utils, git_integration, default_embedding_llm
@@ -50,7 +54,7 @@ def test_edit_git_datasource(
50
54
  edit_page.should_see_save_reindex_button()
51
55
 
52
56
 
53
- @pytest.mark.datasource_ui
57
+ @pytest.mark.datasource
54
58
  @pytest.mark.ui
55
59
  def test_edit_confluence_datasource(page, datasource_utils, confluence_integration):
56
60
  """Test that all main Edit Datasource page elements are visible."""
@@ -83,7 +87,7 @@ def test_edit_confluence_datasource(page, datasource_utils, confluence_integrati
83
87
  edit_page.should_see_save_reindex_button()
84
88
 
85
89
 
86
- @pytest.mark.datasource_ui
90
+ @pytest.mark.datasource
87
91
  @pytest.mark.ui
88
92
  def test_edit_jira_datasource(page, datasource_utils, jira_integration):
89
93
  """Test that all main Edit Datasource page elements are visible."""
@@ -116,7 +120,7 @@ def test_edit_jira_datasource(page, datasource_utils, jira_integration):
116
120
  edit_page.should_see_save_reindex_button()
117
121
 
118
122
 
119
- @pytest.mark.datasource_ui
123
+ @pytest.mark.datasource
120
124
  @pytest.mark.ui
121
125
  def test_edit_file_datasource(page, datasource_utils):
122
126
  """Test that all main Edit Datasource page elements are visible."""
@@ -147,7 +151,7 @@ def test_edit_file_datasource(page, datasource_utils):
147
151
  edit_page.should_see_disabled_name_input(datasource.name)
148
152
 
149
153
 
150
- @pytest.mark.datasource_ui
154
+ @pytest.mark.datasource
151
155
  @pytest.mark.ui
152
156
  def test_edit_google_datasource(page, datasource_utils):
153
157
  """Test that all main Edit Datasource page elements are visible."""
@@ -6,20 +6,22 @@ from codemie_test_harness.tests.ui.pageobject.datasources.view_datasource_page i
6
6
  from codemie_test_harness.tests.ui.pageobject.datasources.datasource_page import (
7
7
  DataSourcePage,
8
8
  )
9
- from tests import PROJECT, TEST_USER
10
- from tests.test_data.google_datasource_test_data import GOOGLE_DOC_URL
9
+ from codemie_test_harness.tests import PROJECT, TEST_USER
10
+ from codemie_test_harness.tests.test_data.google_datasource_test_data import (
11
+ GOOGLE_DOC_URL,
12
+ )
11
13
 
12
- from tests.ui._test_data.datasource_test_data import (
14
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
13
15
  TITLE_VIEW_DATASOURCE,
14
16
  SUBTITLE_VIEW_DATASOURCE,
15
17
  DataSourceStatus,
16
18
  DataSourceType,
17
19
  DataSourceFilterType,
18
20
  )
19
- from tests.utils.constants import FILES_PATH
21
+ from codemie_test_harness.tests.utils.constants import FILES_PATH
20
22
 
21
23
 
22
- @pytest.mark.datasource_ui
24
+ @pytest.mark.datasource
23
25
  @pytest.mark.ui
24
26
  def test_view_git_datasource_page(
25
27
  page, datasource_utils, git_integration, default_embedding_llm, client
@@ -60,7 +62,7 @@ def test_view_git_datasource_page(
60
62
  view_page.should_open_and_see_processed_data()
61
63
 
62
64
 
63
- @pytest.mark.datasource_ui
65
+ @pytest.mark.datasource
64
66
  @pytest.mark.ui
65
67
  def test_view_confluence_datasource_page(
66
68
  page, datasource_utils, confluence_integration, default_embedding_llm, client
@@ -100,7 +102,7 @@ def test_view_confluence_datasource_page(
100
102
  view_page.should_see_processed_data()
101
103
 
102
104
 
103
- @pytest.mark.datasource_ui
105
+ @pytest.mark.datasource
104
106
  @pytest.mark.ui
105
107
  def test_view_jira_datasource_page(
106
108
  page, datasource_utils, jira_integration, default_embedding_llm, client
@@ -140,7 +142,7 @@ def test_view_jira_datasource_page(
140
142
  view_page.should_see_processed_data()
141
143
 
142
144
 
143
- @pytest.mark.datasource_ui
145
+ @pytest.mark.datasource
144
146
  @pytest.mark.ui
145
147
  def test_view_file_datasource_page(
146
148
  page, datasource_utils, default_embedding_llm, client
@@ -180,7 +182,7 @@ def test_view_file_datasource_page(
180
182
  view_page.should_see_processed_data()
181
183
 
182
184
 
183
- @pytest.mark.datasource_ui
185
+ @pytest.mark.datasource
184
186
  @pytest.mark.ui
185
187
  def test_view_google_datasource_page(
186
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):
@@ -3,8 +3,11 @@ from typing import Optional
3
3
  from codemie_test_harness.tests.ui.pageobject.base_page import BasePage
4
4
  from playwright.sync_api import expect
5
5
  from reportportal_client import step
6
- from tests.test_data.google_datasource_test_data import GOOGLE_DOC_URL, GOOGLE_GUIDE_URL
7
- from tests.ui._test_data.datasource_test_data import (
6
+ from codemie_test_harness.tests.test_data.google_datasource_test_data import (
7
+ GOOGLE_DOC_URL,
8
+ GOOGLE_GUIDE_URL,
9
+ )
10
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
8
11
  DataSourceType,
9
12
  SUMMARIZATION_METHODS_LIST,
10
13
  EMBEDDING_MODELS_LIST,
@@ -21,9 +24,13 @@ from tests.ui._test_data.datasource_test_data import (
21
24
  EMPTY_FILE_ERROR,
22
25
  EMPTY_GOOGLE_LINK_ERROR,
23
26
  )
24
- from tests.ui.pageobject.components.project_selector import ProjectSelector
25
- from tests.ui.pageobject.datasources.datasource_sidebar import DataSourceSidebar
26
- from tests.utils.base_utils import get_random_name
27
+ from codemie_test_harness.tests.ui.pageobject.components.project_selector import (
28
+ ProjectSelector,
29
+ )
30
+ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_sidebar import (
31
+ DataSourceSidebar,
32
+ )
33
+ from codemie_test_harness.tests.utils.base_utils import get_random_name
27
34
 
28
35
 
29
36
  class CreateEditDatasourcePage(BasePage):
@@ -5,8 +5,12 @@ from reportportal_client import step
5
5
  from playwright.sync_api import expect
6
6
 
7
7
  from codemie_test_harness.tests.ui.pageobject.base_page import BasePage
8
- from tests.ui._test_data.datasource_test_data import DATAS_SOURCE_COLUMN_LIST
9
- from tests.ui.pageobject.datasources.datasource_sidebar import DataSourceSidebar
8
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
9
+ DATAS_SOURCE_COLUMN_LIST,
10
+ )
11
+ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_sidebar import (
12
+ DataSourceSidebar,
13
+ )
10
14
 
11
15
 
12
16
  class DataSourcePage(BasePage):
@@ -1,12 +1,12 @@
1
1
  from reportportal_client import step
2
2
  from playwright.sync_api import expect
3
- from tests.ui._test_data.datasource_test_data import (
3
+ from codemie_test_harness.tests.ui._test_data.datasource_test_data import (
4
4
  DATA_SOURCE_FILTER_STATUSES_LIST,
5
5
  DATA_SOURCE_FILTER_TYPES_LIST,
6
6
  PROJECT_LABEL,
7
7
  STATUS_LABEL,
8
8
  )
9
- from tests.ui.pageobject.base_page import BasePage
9
+ from codemie_test_harness.tests.ui.pageobject.base_page import BasePage
10
10
 
11
11
 
12
12
  class DataSourceSidebar(BasePage):
@@ -3,7 +3,9 @@ from codemie_test_harness.tests.ui.pageobject.base_page import BasePage
3
3
  from hamcrest import greater_than_or_equal_to, assert_that
4
4
  from playwright.sync_api import expect
5
5
  from reportportal_client import step
6
- from tests.ui.pageobject.datasources.datasource_sidebar import DataSourceSidebar
6
+ from codemie_test_harness.tests.ui.pageobject.datasources.datasource_sidebar import (
7
+ DataSourceSidebar,
8
+ )
7
9
 
8
10
 
9
11
  class ViewDatasourcePage(BasePage):
@@ -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."""