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