codemie-test-harness 0.1.156__py3-none-any.whl → 0.1.157__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codemie-test-harness might be problematic. Click here for more details.

Files changed (121) hide show
  1. codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +6 -0
  2. codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +14 -2
  3. codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +10 -0
  4. codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +6 -0
  5. codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +18 -2
  6. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +10 -0
  7. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +10 -0
  8. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +10 -0
  9. codemie_test_harness/tests/assistant/test_assistants.py +24 -2
  10. codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +2 -0
  11. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +4 -0
  12. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +4 -0
  13. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +4 -0
  14. codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +2 -0
  15. codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +3 -0
  16. codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +8 -4
  17. codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +9 -1
  18. codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +14 -0
  19. codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +8 -6
  20. codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +8 -6
  21. codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +6 -0
  22. codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +6 -4
  23. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +4 -1
  24. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +6 -2
  25. codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +17 -0
  26. codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +4 -0
  27. codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +2 -0
  28. codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +3 -1
  29. codemie_test_harness/tests/conversations/test_conversations_endpoints.py +10 -0
  30. codemie_test_harness/tests/e2e/test_e2e.py +24 -8
  31. codemie_test_harness/tests/integrations/project/test_default_integrations.py +41 -4
  32. codemie_test_harness/tests/integrations/project/test_project_integrations.py +23 -9
  33. codemie_test_harness/tests/integrations/user/test_default_integrations.py +40 -4
  34. codemie_test_harness/tests/integrations/user/test_user_integrations.py +26 -12
  35. codemie_test_harness/tests/llm/assistants/test_llm.py +8 -0
  36. codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -0
  37. codemie_test_harness/tests/search/test_search_assistant.py +2 -0
  38. codemie_test_harness/tests/search/test_search_datasource.py +10 -0
  39. codemie_test_harness/tests/search/test_search_integration.py +6 -0
  40. codemie_test_harness/tests/search/test_search_workflow.py +2 -0
  41. codemie_test_harness/tests/test_data/cloud_tools_test_data.py +18 -10
  42. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +6 -2
  43. codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +18 -10
  44. codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +6 -2
  45. codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +9 -5
  46. codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +6 -2
  47. codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +6 -2
  48. codemie_test_harness/tests/test_data/integrations_test_data.py +185 -65
  49. codemie_test_harness/tests/test_data/project_management_test_data.py +10 -4
  50. codemie_test_harness/tests/test_data/vcs_tools_test_data.py +8 -2
  51. codemie_test_harness/tests/ui/test_create_workflow.py +13 -0
  52. codemie_test_harness/tests/ui/test_edit_workflow.py +16 -0
  53. codemie_test_harness/tests/ui/test_workflow_details.py +17 -0
  54. codemie_test_harness/tests/ui/test_workflow_executions_page.py +36 -0
  55. codemie_test_harness/tests/ui/test_workflow_templates.py +8 -0
  56. codemie_test_harness/tests/ui/test_workflows.py +8 -0
  57. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +3 -0
  58. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +6 -0
  59. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +6 -0
  60. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +6 -0
  61. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +3 -0
  62. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +5 -0
  63. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +6 -0
  64. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  65. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  66. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  67. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +15 -0
  68. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +21 -0
  69. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +9 -3
  70. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +8 -0
  71. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +3 -0
  72. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +6 -2
  73. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +8 -2
  74. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +3 -0
  75. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +6 -0
  76. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  77. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +3 -0
  78. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +4 -3
  79. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +17 -2
  80. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +15 -0
  81. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +9 -0
  82. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +9 -0
  83. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +9 -0
  84. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +9 -0
  85. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +9 -0
  86. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +6 -0
  87. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools.py +9 -0
  88. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +9 -0
  89. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -0
  90. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +9 -0
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +12 -4
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +9 -0
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +9 -0
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +9 -0
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -0
  96. codemie_test_harness/tests/workflow/test_workflows.py +1 -0
  97. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +3 -0
  98. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +6 -0
  99. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +6 -0
  100. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +6 -0
  101. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +3 -0
  102. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +5 -0
  103. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +6 -0
  104. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  105. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  106. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  107. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +15 -0
  108. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +21 -0
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +12 -6
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +8 -0
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +6 -3
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +6 -2
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +8 -2
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +3 -0
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +6 -0
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +3 -0
  118. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/METADATA +2 -2
  119. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/RECORD +121 -121
  120. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/WHEEL +0 -0
  121. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.157.dist-info}/entry_points.txt +0 -0
@@ -45,6 +45,13 @@ pytestmark = pytest.mark.skipif(
45
45
  )
46
46
 
47
47
 
48
+ @pytest.mark.assistant
49
+ @pytest.mark.cloud
50
+ @pytest.mark.integration
51
+ @pytest.mark.user_integration
52
+ @pytest.mark.default_integration
53
+ @pytest.mark.regression
54
+ @pytest.mark.tescase("EPMCDME-2377")
48
55
  @pytest.mark.parametrize(
49
56
  "toolkit, tool_name, credential_type, credentials, prompt, expected_response",
50
57
  cloud_test_data,
@@ -55,8 +62,6 @@ pytestmark = pytest.mark.skipif(
55
62
  f"{Toolkit.CLOUD}_{CloudTool.KUBERNETES}",
56
63
  ],
57
64
  )
58
- @pytest.mark.regression
59
- @pytest.mark.tescase("EPMCDME-2377")
60
65
  def test_assistant_with_default_integration_cloud(
61
66
  general_integration,
62
67
  integration_utils,
@@ -90,6 +95,11 @@ def test_assistant_with_default_integration_cloud(
90
95
  similarity_check.check_similarity(response, expected_response)
91
96
 
92
97
 
98
+ @pytest.mark.assistant
99
+ @pytest.mark.ado
100
+ @pytest.mark.integration
101
+ @pytest.mark.user_integration
102
+ @pytest.mark.default_integration
93
103
  @pytest.mark.regression
94
104
  @pytest.mark.tescase("EPMCDME-2377")
95
105
  def test_assistant_with_default_integration_ado(
@@ -124,13 +134,17 @@ def test_assistant_with_default_integration_ado(
124
134
  similarity_check.check_similarity(response, expected_response)
125
135
 
126
136
 
137
+ @pytest.mark.assistant
138
+ @pytest.mark.integration
139
+ @pytest.mark.user_integration
140
+ @pytest.mark.default_integration
141
+ @pytest.mark.regression
142
+ @pytest.mark.tescase("EPMCDME-2377")
127
143
  @pytest.mark.parametrize(
128
144
  "toolkit, tool_name, credentials, prompt, expected_response",
129
145
  sonar_tools_test_data,
130
146
  ids=[f"{row[0]}_{row[1]}" for row in sonar_tools_test_data],
131
147
  )
132
- @pytest.mark.regression
133
- @pytest.mark.tescase("EPMCDME-2377")
134
148
  def test_assistant_with_default_integration_codebase(
135
149
  general_integration,
136
150
  integration_utils,
@@ -165,6 +179,11 @@ def test_assistant_with_default_integration_codebase(
165
179
  similarity_check.check_similarity(response, expected_response)
166
180
 
167
181
 
182
+ @pytest.mark.assistant
183
+ @pytest.mark.gitlab
184
+ @pytest.mark.integration
185
+ @pytest.mark.user_integration
186
+ @pytest.mark.default_integration
168
187
  @pytest.mark.regression
169
188
  @pytest.mark.tescase("EPMCDME-2377")
170
189
  def test_assistant_with_default_integration_git(
@@ -213,6 +232,12 @@ def test_assistant_with_default_integration_git(
213
232
  similarity_check.check_similarity(response, expected_response)
214
233
 
215
234
 
235
+ @pytest.mark.assistant
236
+ @pytest.mark.jira
237
+ @pytest.mark.project_management
238
+ @pytest.mark.integration
239
+ @pytest.mark.user_integration
240
+ @pytest.mark.default_integration
216
241
  @pytest.mark.regression
217
242
  @pytest.mark.tescase("EPMCDME-2377")
218
243
  def test_assistant_with_default_integration_jira(
@@ -246,6 +271,12 @@ def test_assistant_with_default_integration_jira(
246
271
  similarity_check.check_similarity(response, RESPONSE_FOR_JIRA_TOOL)
247
272
 
248
273
 
274
+ @pytest.mark.assistant
275
+ @pytest.mark.email
276
+ @pytest.mark.notification
277
+ @pytest.mark.integration
278
+ @pytest.mark.user_integration
279
+ @pytest.mark.default_integration
249
280
  @pytest.mark.regression
250
281
  @pytest.mark.tescase("EPMCDME-2377")
251
282
  def test_assistant_with_default_integration_email(
@@ -277,6 +308,11 @@ def test_assistant_with_default_integration_email(
277
308
  similarity_check.check_similarity(response, EMAIL_RESPONSE)
278
309
 
279
310
 
311
+ @pytest.mark.assistant
312
+ @pytest.mark.keycloak
313
+ @pytest.mark.integration
314
+ @pytest.mark.user_integration
315
+ @pytest.mark.default_integration
280
316
  @pytest.mark.regression
281
317
  def test_assistant_with_default_integration_keycloak(
282
318
  general_integration,
@@ -21,6 +21,10 @@ from codemie_test_harness.tests.utils.base_utils import (
21
21
  )
22
22
 
23
23
 
24
+ @pytest.mark.integration
25
+ @pytest.mark.user_integration
26
+ @pytest.mark.regression
27
+ @pytest.mark.tescase("EPMCDME-2486, EPMCDME-2487, EPMCDME-2387, EPMCDME-2388")
24
28
  @pytest.mark.parametrize(
25
29
  "credential_type, credentials",
26
30
  valid_integrations,
@@ -49,8 +53,6 @@ from codemie_test_harness.tests.utils.base_utils import (
49
53
  f"User integration: {CredentialTypes.KEYCLOAK}",
50
54
  ],
51
55
  )
52
- @pytest.mark.regression
53
- @pytest.mark.tescase("EPMCDME-2486, EPMCDME-2487, EPMCDME-2387, EPMCDME-2388")
54
56
  def test_integration_created(
55
57
  credential_type, credentials, general_integration, integration_utils
56
58
  ):
@@ -76,6 +78,10 @@ def test_integration_created(
76
78
  )
77
79
 
78
80
 
81
+ @pytest.mark.integration
82
+ @pytest.mark.user_integration
83
+ @pytest.mark.regression
84
+ @pytest.mark.tescase("EPMCDME-2381, EPMCDME-2380, EPMCDME-3107")
79
85
  @pytest.mark.parametrize(
80
86
  "credential_type, credentials",
81
87
  testable_integrations,
@@ -94,8 +100,6 @@ def test_integration_created(
94
100
  f"User integration: {CredentialTypes.KUBERNETES}",
95
101
  ],
96
102
  )
97
- @pytest.mark.regression
98
- @pytest.mark.tescase("EPMCDME-2381, EPMCDME-2380, EPMCDME-3107")
99
103
  def test_integration_after_creation(
100
104
  credential_type, credentials, general_integration, integration_utils
101
105
  ):
@@ -126,6 +130,10 @@ def test_integration_after_creation(
126
130
  )
127
131
 
128
132
 
133
+ @pytest.mark.integration
134
+ @pytest.mark.user_integration
135
+ @pytest.mark.regression
136
+ @pytest.mark.tescase("EPMCDME-2375")
129
137
  @pytest.mark.parametrize(
130
138
  "credential_type, credentials",
131
139
  valid_integrations,
@@ -154,8 +162,6 @@ def test_integration_after_creation(
154
162
  f"User integration: {CredentialTypes.KEYCLOAK}",
155
163
  ],
156
164
  )
157
- @pytest.mark.tescase("EPMCDME-2375")
158
- @pytest.mark.regression
159
165
  def test_update_integration(
160
166
  credential_type, credentials, general_integration, integration_utils
161
167
  ):
@@ -193,6 +199,10 @@ def test_update_integration(
193
199
  assert_that(updated_integration.alias, equal_to(updated_alias))
194
200
 
195
201
 
202
+ @pytest.mark.integration
203
+ @pytest.mark.user_integration
204
+ @pytest.mark.regression
205
+ @pytest.mark.tescase("EPMCDME-3111, EPMCDME-2379, EPMCDME-2384")
196
206
  @pytest.mark.parametrize(
197
207
  "credential_type, credentials, error_message",
198
208
  invalid_integrations,
@@ -209,8 +219,6 @@ def test_update_integration(
209
219
  f"User integration: {CredentialTypes.KUBERNETES}",
210
220
  ],
211
221
  )
212
- @pytest.mark.tescase("EPMCDME-3111, EPMCDME-2379, EPMCDME-2384")
213
- @pytest.mark.regression
214
222
  def test_integration_with_invalid_credentials(
215
223
  credential_type, credentials, error_message, integration_utils
216
224
  ):
@@ -245,6 +253,9 @@ def test_integration_with_invalid_credentials(
245
253
  assert_error_details(e.response, 400, error_message)
246
254
 
247
255
 
256
+ @pytest.mark.integration
257
+ @pytest.mark.user_integration
258
+ @pytest.mark.regression
248
259
  @pytest.mark.parametrize(
249
260
  "credential_type, credentials",
250
261
  testable_integrations,
@@ -263,7 +274,6 @@ def test_integration_with_invalid_credentials(
263
274
  f"User integration: {CredentialTypes.KUBERNETES}",
264
275
  ],
265
276
  )
266
- @pytest.mark.regression
267
277
  def test_integration_during_creation(credential_type, credentials, integration_utils):
268
278
  integration_test_model = IntegrationTestRequest(
269
279
  credential_type=credential_type,
@@ -281,6 +291,9 @@ def test_integration_during_creation(credential_type, credentials, integration_u
281
291
  )
282
292
 
283
293
 
294
+ @pytest.mark.integration
295
+ @pytest.mark.user_integration
296
+ @pytest.mark.regression
284
297
  @pytest.mark.parametrize(
285
298
  "credential_type, credentials, error_message",
286
299
  invalid_integrations,
@@ -297,7 +310,6 @@ def test_integration_during_creation(credential_type, credentials, integration_u
297
310
  f"User integration: {CredentialTypes.KUBERNETES}",
298
311
  ],
299
312
  )
300
- @pytest.mark.regression
301
313
  def test_integration_during_creation_with_invalid_credentials(
302
314
  credential_type, credentials, error_message, integration_utils
303
315
  ):
@@ -313,6 +325,10 @@ def test_integration_during_creation_with_invalid_credentials(
313
325
  assert_error_details(e.response, 400, error_message)
314
326
 
315
327
 
328
+ @pytest.mark.integration
329
+ @pytest.mark.user_integration
330
+ @pytest.mark.regression
331
+ @pytest.mark.tescase("EPMCDME-2373")
316
332
  @pytest.mark.parametrize(
317
333
  "credential_type, credentials",
318
334
  valid_integrations,
@@ -341,8 +357,6 @@ def test_integration_during_creation_with_invalid_credentials(
341
357
  f"User integration: {CredentialTypes.KEYCLOAK}",
342
358
  ],
343
359
  )
344
- @pytest.mark.tescase("EPMCDME-2373")
345
- @pytest.mark.regression
346
360
  def test_delete_integration(
347
361
  credential_type, credentials, general_integration, integration_utils
348
362
  ):
@@ -31,6 +31,8 @@ def pytest_generate_tests(metafunc):
31
31
  metafunc.parametrize("model_type", test_data)
32
32
 
33
33
 
34
+ @pytest.mark.assistant
35
+ @pytest.mark.llm
34
36
  @pytest.mark.regression
35
37
  @pytest.mark.smoke
36
38
  def test_assistant_with_different_models(
@@ -49,6 +51,9 @@ def test_assistant_with_different_models(
49
51
  similarity_check.check_similarity(response, "Hello")
50
52
 
51
53
 
54
+ @pytest.mark.assistant
55
+ @pytest.mark.llm
56
+ @pytest.mark.top_p
52
57
  @pytest.mark.regression
53
58
  @pytest.mark.smoke
54
59
  def test_assistant_with_different_models_with_top_p_parameter(
@@ -67,6 +72,9 @@ def test_assistant_with_different_models_with_top_p_parameter(
67
72
  similarity_check.check_similarity(response, "Hello")
68
73
 
69
74
 
75
+ @pytest.mark.assistant
76
+ @pytest.mark.llm
77
+ @pytest.mark.temperature
70
78
  @pytest.mark.regression
71
79
  @pytest.mark.smoke
72
80
  def test_assistant_with_different_models_with_temperature_parameter(
@@ -23,6 +23,7 @@ nonexistent_id = "nonexistent-provider-id-12345"
23
23
  # =============================================================================
24
24
 
25
25
 
26
+ @pytest.mark.provider
26
27
  @pytest.mark.regression
27
28
  def test_get_providers_endpoint(providers_utils):
28
29
  response = providers_utils.send_get_request_to_providers_endpoint()
@@ -45,6 +46,7 @@ def test_get_providers_endpoint(providers_utils):
45
46
  # =============================================================================
46
47
 
47
48
 
49
+ @pytest.mark.provider
48
50
  @pytest.mark.regression
49
51
  def test_post_providers_endpoint(providers_utils):
50
52
  request_json = providers_utils.provider_request_json()
@@ -71,6 +73,7 @@ def test_post_providers_endpoint(providers_utils):
71
73
  )
72
74
 
73
75
 
76
+ @pytest.mark.provider
74
77
  @pytest.mark.regression
75
78
  def test_post_providers_endpoint_validation_error(providers_utils):
76
79
  """Test POST /v1/providers with invalid provided_toolkits node"""
@@ -86,6 +89,7 @@ def test_post_providers_endpoint_validation_error(providers_utils):
86
89
  )
87
90
 
88
91
 
92
+ @pytest.mark.provider
89
93
  @pytest.mark.regression
90
94
  def test_post_providers_endpoint_with_existing_name(providers_utils):
91
95
  provider_id = providers_utils.create_provider()
@@ -112,6 +116,7 @@ def test_post_providers_endpoint_with_existing_name(providers_utils):
112
116
  # =============================================================================
113
117
 
114
118
 
119
+ @pytest.mark.provider
115
120
  @pytest.mark.regression
116
121
  def test_get_providers_datasource_schema_endpoint(providers_utils):
117
122
  response = providers_utils.send_get_request_datasource_schemas_endpoint()
@@ -140,6 +145,7 @@ def test_get_providers_datasource_schema_endpoint(providers_utils):
140
145
  # =============================================================================
141
146
 
142
147
 
148
+ @pytest.mark.provider
143
149
  @pytest.mark.regression
144
150
  def test_get_provider_by_id_endpoint(providers_utils):
145
151
  provider_id = providers_utils.create_provider()
@@ -150,6 +156,7 @@ def test_get_provider_by_id_endpoint(providers_utils):
150
156
  assert_that(provider_response.json()["id"], equal_to(provider_id))
151
157
 
152
158
 
159
+ @pytest.mark.provider
153
160
  @pytest.mark.regression
154
161
  def test_get_nonexistent_provider(providers_utils):
155
162
  """Test error handling when requesting nonexistent provider."""
@@ -170,6 +177,7 @@ def test_get_nonexistent_provider(providers_utils):
170
177
  # =============================================================================
171
178
 
172
179
 
180
+ @pytest.mark.provider
173
181
  @pytest.mark.regression
174
182
  def test_put_provider_endpoint(providers_utils):
175
183
  provider_id = providers_utils.create_provider()
@@ -187,6 +195,7 @@ def test_put_provider_endpoint(providers_utils):
187
195
  assert_that(update_response.json()["provided_toolkits"], equal_to(toolkits))
188
196
 
189
197
 
198
+ @pytest.mark.provider
190
199
  @pytest.mark.regression
191
200
  def test_put_nonexistent_provider(providers_utils):
192
201
  response = providers_utils.update_provider(nonexistent_id, {})
@@ -205,6 +214,7 @@ def test_put_nonexistent_provider(providers_utils):
205
214
  # =============================================================================
206
215
 
207
216
 
217
+ @pytest.mark.provider
208
218
  @pytest.mark.regression
209
219
  def test_delete_provider_endpoint(providers_utils):
210
220
  provider_id = providers_utils.create_provider()
@@ -224,6 +234,7 @@ def test_delete_provider_endpoint(providers_utils):
224
234
  )
225
235
 
226
236
 
237
+ @pytest.mark.provider
227
238
  @pytest.mark.regression
228
239
  def test_delete_nonexistent_provider(providers_utils):
229
240
  """Test error handling when requesting nonexistent provider."""
@@ -81,6 +81,8 @@ def pytest_generate_tests(metafunc):
81
81
  )
82
82
 
83
83
 
84
+ @pytest.mark.assistant
85
+ @pytest.mark.search
84
86
  @pytest.mark.testcase("EPMCDME-2429, EPMCDME-4102")
85
87
  @pytest.mark.regression
86
88
  @pytest.mark.smoke
@@ -149,6 +149,8 @@ def pytest_generate_tests(metafunc):
149
149
  )
150
150
 
151
151
 
152
+ @pytest.mark.datasource
153
+ @pytest.mark.search
152
154
  @pytest.mark.testcase("EPMCDME-2391")
153
155
  @pytest.mark.regression
154
156
  def test_search_datasource_by_name(
@@ -160,6 +162,8 @@ def test_search_datasource_by_name(
160
162
  assert_that(datasource_name_for_search in names, ASSERTION_ERROR)
161
163
 
162
164
 
165
+ @pytest.mark.datasource
166
+ @pytest.mark.search
163
167
  @pytest.mark.testcase("EPMCDME-2391")
164
168
  @pytest.mark.regression
165
169
  def test_search_datasource_by_type(
@@ -174,6 +178,8 @@ def test_search_datasource_by_type(
174
178
  assert_that(datasource_name_for_search in names, ASSERTION_ERROR)
175
179
 
176
180
 
181
+ @pytest.mark.datasource
182
+ @pytest.mark.search
177
183
  @pytest.mark.testcase("EPMCDME-2391")
178
184
  @pytest.mark.regression
179
185
  def test_search_datasource_by_owner(
@@ -188,6 +194,8 @@ def test_search_datasource_by_owner(
188
194
  assert_that(datasource_name_for_search in names, ASSERTION_ERROR)
189
195
 
190
196
 
197
+ @pytest.mark.datasource
198
+ @pytest.mark.search
191
199
  @pytest.mark.testcase("EPMCDME-2391")
192
200
  @pytest.mark.regression
193
201
  def test_search_datasource_by_status(
@@ -200,6 +208,8 @@ def test_search_datasource_by_status(
200
208
  assert_that(datasource_name_for_search in names, ASSERTION_ERROR)
201
209
 
202
210
 
211
+ @pytest.mark.datasource
212
+ @pytest.mark.search
203
213
  @pytest.mark.testcase("EPMCDME-2391")
204
214
  @pytest.mark.regression
205
215
  def test_search_datasource_by_project(
@@ -106,6 +106,9 @@ def pytest_generate_tests(metafunc):
106
106
  )
107
107
 
108
108
 
109
+ @pytest.mark.integration
110
+ @pytest.mark.user_integration
111
+ @pytest.mark.search
109
112
  @pytest.mark.testcase("EPMCDME-4243")
110
113
  @pytest.mark.regression
111
114
  def test_search_user_integration(search_utils, user_filters, user_integration_name):
@@ -117,6 +120,9 @@ def test_search_user_integration(search_utils, user_filters, user_integration_na
117
120
  assert_that(user_integration_name in names, ASSERTION_ERROR)
118
121
 
119
122
 
123
+ @pytest.mark.integration
124
+ @pytest.mark.project_integration
125
+ @pytest.mark.search
120
126
  @pytest.mark.testcase("EPMCDME-3083")
121
127
  @pytest.mark.regression
122
128
  def test_search_project_integration(
@@ -78,6 +78,8 @@ def pytest_generate_tests(metafunc):
78
78
  )
79
79
 
80
80
 
81
+ @pytest.mark.workflow
82
+ @pytest.mark.search
81
83
  @pytest.mark.testcase("EPMCDME-3948")
82
84
  @pytest.mark.regression
83
85
  @pytest.mark.smoke
@@ -7,7 +7,7 @@ from codemie_sdk.models.integration import CredentialTypes
7
7
  from codemie_test_harness.tests.utils.aws_parameters_store import CredentialsUtil
8
8
 
9
9
  cloud_test_data = [
10
- (
10
+ pytest.param(
11
11
  Toolkit.CLOUD,
12
12
  CloudTool.AWS,
13
13
  CredentialTypes.AWS,
@@ -25,8 +25,9 @@ cloud_test_data = [
25
25
  * epam-cloud-s3-access-logs-025066278959-us-east-1
26
26
  * terraform-states-025066278959
27
27
  """,
28
+ marks=pytest.mark.aws,
28
29
  ),
29
- (
30
+ pytest.param(
30
31
  Toolkit.CLOUD,
31
32
  CloudTool.AZURE,
32
33
  CredentialTypes.AZURE,
@@ -43,6 +44,7 @@ cloud_test_data = [
43
44
  - environment: codemie-azure
44
45
  Provisioning State: Succeeded
45
46
  """,
47
+ marks=pytest.mark.azure,
46
48
  ),
47
49
  pytest.param(
48
50
  Toolkit.CLOUD,
@@ -101,10 +103,13 @@ cloud_test_data = [
101
103
  - **Uniform Bucket Level Access**: `False`
102
104
  - **Public Access Prevention**: `inherited`
103
105
  """,
104
- marks=pytest.mark.skipif(
105
- os.getenv("ENV") in ["azure", "gcp"],
106
- reason="Still have an issue with encoding long strings",
107
- ),
106
+ marks=[
107
+ pytest.mark.gcp,
108
+ pytest.mark.skipif(
109
+ os.getenv("ENV") in ["azure", "gcp"],
110
+ reason="Still have an issue with encoding long strings",
111
+ ),
112
+ ],
108
113
  ),
109
114
  pytest.param(
110
115
  Toolkit.CLOUD,
@@ -126,9 +131,12 @@ cloud_test_data = [
126
131
  7. argo-cd-redis-ha-announce-2
127
132
  8. argo-cd-redis-ha-haproxy
128
133
  """,
129
- marks=pytest.mark.skipif(
130
- os.getenv("ENV") == "azure",
131
- reason="Still have an issue with encoding long strings",
132
- ),
134
+ marks=[
135
+ pytest.mark.kubernetes,
136
+ pytest.mark.skipif(
137
+ os.getenv("ENV") == "azure",
138
+ reason="Still have an issue with encoding long strings",
139
+ ),
140
+ ],
133
141
  ),
134
142
  ]
@@ -1,3 +1,5 @@
1
+ import pytest
2
+
1
3
  from codemie_test_harness.tests.enums.tools import Toolkit, CodeBaseTool
2
4
  from codemie_test_harness.tests.utils.aws_parameters_store import CredentialsUtil
3
5
 
@@ -42,7 +44,7 @@ System.out.println("Hello, World!");}}""",
42
44
  ]
43
45
 
44
46
  sonar_tools_test_data = [
45
- (
47
+ pytest.param(
46
48
  Toolkit.CODEBASE_TOOLS,
47
49
  CodeBaseTool.SONAR,
48
50
  CredentialsUtil.sonar_credentials(),
@@ -54,8 +56,9 @@ sonar_tools_test_data = [
54
56
  Answer must be: Yes, I have an access to SonarQube or No, I do not have an access to SonarQube. Without any information about code smells.
55
57
  """,
56
58
  "Yes, I have an access to SonarQube",
59
+ marks=pytest.mark.sonar,
57
60
  ),
58
- (
61
+ pytest.param(
59
62
  Toolkit.CODEBASE_TOOLS,
60
63
  CodeBaseTool.SONAR_CLOUD,
61
64
  CredentialsUtil.sonar_cloud_credentials(),
@@ -67,5 +70,6 @@ sonar_tools_test_data = [
67
70
  Answer must be: Yes, I have an access to SonarQube or No, I do not have an access to SonarQube. Without any information about code smells.
68
71
  """,
69
72
  "Yes, I have an access to SonarCloud",
73
+ marks=pytest.mark.sonar,
70
74
  ),
71
75
  ]
@@ -7,7 +7,7 @@ from codemie_sdk.models.integration import CredentialTypes
7
7
  from codemie_test_harness.tests.utils.aws_parameters_store import CredentialsUtil
8
8
 
9
9
  cloud_test_data = [
10
- (
10
+ pytest.param(
11
11
  Toolkit.CLOUD,
12
12
  CloudTool.AWS,
13
13
  CredentialTypes.AWS,
@@ -99,8 +99,9 @@ cloud_test_data = [
99
99
  }
100
100
  }
101
101
  """,
102
+ marks=pytest.mark.aws,
102
103
  ),
103
- (
104
+ pytest.param(
104
105
  Toolkit.CLOUD,
105
106
  CloudTool.AZURE,
106
107
  CredentialTypes.AZURE,
@@ -123,6 +124,7 @@ cloud_test_data = [
123
124
  }
124
125
  }
125
126
  """,
127
+ marks=pytest.mark.azure,
126
128
  ),
127
129
  pytest.param(
128
130
  Toolkit.CLOUD,
@@ -165,10 +167,13 @@ cloud_test_data = [
165
167
  "rpo":"DEFAULT"
166
168
  }
167
169
  """,
168
- marks=pytest.mark.skipif(
169
- os.getenv("ENV") == "azure",
170
- reason="Still have an issue with encoding long strings",
171
- ),
170
+ marks=[
171
+ pytest.mark.gcp,
172
+ pytest.mark.skipif(
173
+ os.getenv("ENV") == "azure",
174
+ reason="Still have an issue with encoding long strings",
175
+ ),
176
+ ],
172
177
  ),
173
178
  pytest.param(
174
179
  Toolkit.CLOUD,
@@ -836,9 +841,12 @@ cloud_test_data = [
836
841
  } ]
837
842
  }
838
843
  """,
839
- marks=pytest.mark.skipif(
840
- os.getenv("ENV") == "azure",
841
- reason="Still have an issue with encoding long strings",
842
- ),
844
+ marks=[
845
+ pytest.mark.kubernetes,
846
+ pytest.mark.skipif(
847
+ os.getenv("ENV") == "azure",
848
+ reason="Still have an issue with encoding long strings",
849
+ ),
850
+ ],
843
851
  ),
844
852
  ]
@@ -1,7 +1,9 @@
1
+ import pytest
2
+
1
3
  from codemie_test_harness.tests.enums.tools import Toolkit, CodeBaseTool
2
4
 
3
5
  sonar_tools_test_data = [
4
- (
6
+ pytest.param(
5
7
  Toolkit.CODEBASE_TOOLS,
6
8
  CodeBaseTool.SONAR,
7
9
  {
@@ -74,8 +76,9 @@ sonar_tools_test_data = [
74
76
  "facets" : [ ]
75
77
  }
76
78
  """,
79
+ marks=pytest.mark.sonar,
77
80
  ),
78
- (
81
+ pytest.param(
79
82
  Toolkit.CODEBASE_TOOLS,
80
83
  CodeBaseTool.SONAR_CLOUD,
81
84
  {
@@ -156,5 +159,6 @@ sonar_tools_test_data = [
156
159
  "facets" : [ ]
157
160
  }
158
161
  """,
162
+ marks=pytest.mark.sonar,
159
163
  ),
160
164
  ]
@@ -18,12 +18,15 @@ notification_tools_test_data = [
18
18
  "body": f"{EMAIL_BODY}",
19
19
  },
20
20
  EMAIL_RESPONSE,
21
- marks=pytest.mark.skipif(
22
- os.getenv("ENV") in ["local", "gcp"],
23
- reason="Skipping this test on local environment",
24
- ),
21
+ marks=[
22
+ pytest.mark.email,
23
+ pytest.mark.skipif(
24
+ os.getenv("ENV") in ["local", "gcp"],
25
+ reason="Skipping this test on local environment",
26
+ ),
27
+ ],
25
28
  ),
26
- (
29
+ pytest.param(
27
30
  NotificationTool.TELEGRAM,
28
31
  {
29
32
  "method": "POST",
@@ -50,5 +53,6 @@ notification_tools_test_data = [
50
53
  "text": "CodeMie Test Message",
51
54
  },
52
55
  },
56
+ marks=pytest.mark.telegram,
53
57
  ),
54
58
  ]
@@ -1,8 +1,10 @@
1
+ import pytest
2
+
1
3
  from codemie_test_harness.tests.enums.tools import Toolkit, ProjectManagementTool
2
4
  from codemie_test_harness.tests.utils.constants import ProjectManagementIntegrationType
3
5
 
4
6
  project_management_tools_data = [
5
- (
7
+ pytest.param(
6
8
  Toolkit.PROJECT_MANAGEMENT,
7
9
  ProjectManagementTool.JIRA,
8
10
  ProjectManagementIntegrationType.JIRA,
@@ -155,8 +157,9 @@ project_management_tools_data = [
155
157
  ,"customfield_36681":null,"customfield_30900":null,"customfield_30901":null,"customfield_17715":null,"customfield
156
158
  _17713":null,"customfield_27500":null}}
157
159
  """,
160
+ marks=pytest.mark.jira,
158
161
  ),
159
- (
162
+ pytest.param(
160
163
  Toolkit.PROJECT_MANAGEMENT,
161
164
  ProjectManagementTool.CONFLUENCE,
162
165
  ProjectManagementIntegrationType.CONFLUENCE,
@@ -184,5 +187,6 @@ project_management_tools_data = [
184
187
  backlog estimation"","searchDuration":1359,"totalSize":1,"_links":{"self":"https://kb.epam.com/rest/api/content/search?
185
188
  expand=body.storage&cql=title+~+%22AQA+backlog+estimation%22","base":"https://kb.epam.com","context":""}}
186
189
  """,
190
+ marks=pytest.mark.confluence,
187
191
  ),
188
192
  ]