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

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

Potentially problematic release.


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

Files changed (123) hide show
  1. codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +6 -0
  2. codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +14 -2
  3. codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +10 -0
  4. codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +6 -0
  5. codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +18 -2
  6. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +10 -0
  7. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +10 -0
  8. codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +10 -0
  9. codemie_test_harness/tests/assistant/test_assistants.py +24 -2
  10. codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +2 -0
  11. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +4 -0
  12. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +4 -0
  13. codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +4 -0
  14. codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +2 -0
  15. codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +3 -0
  16. codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +9 -1
  17. codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +9 -1
  18. codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +14 -0
  19. codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +8 -6
  20. codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +8 -6
  21. codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +6 -0
  22. codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +6 -4
  23. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +4 -1
  24. codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +6 -2
  25. codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +17 -0
  26. codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +4 -0
  27. codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +2 -0
  28. codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +3 -1
  29. codemie_test_harness/tests/conversations/test_conversations_endpoints.py +10 -0
  30. codemie_test_harness/tests/e2e/test_e2e.py +24 -8
  31. codemie_test_harness/tests/integrations/project/test_default_integrations.py +41 -4
  32. codemie_test_harness/tests/integrations/project/test_project_integrations.py +23 -9
  33. codemie_test_harness/tests/integrations/user/test_default_integrations.py +40 -4
  34. codemie_test_harness/tests/integrations/user/test_user_integrations.py +26 -12
  35. codemie_test_harness/tests/llm/assistants/test_llm.py +8 -0
  36. codemie_test_harness/tests/providers/test_providers_endpoints.py +11 -0
  37. codemie_test_harness/tests/search/test_search_assistant.py +2 -0
  38. codemie_test_harness/tests/search/test_search_datasource.py +10 -0
  39. codemie_test_harness/tests/search/test_search_integration.py +6 -0
  40. codemie_test_harness/tests/search/test_search_workflow.py +2 -0
  41. codemie_test_harness/tests/test_data/cloud_tools_test_data.py +18 -10
  42. codemie_test_harness/tests/test_data/codebase_tools_test_data.py +6 -2
  43. codemie_test_harness/tests/test_data/data_management_tools_test_data.py +4 -37
  44. codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +18 -10
  45. codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +6 -2
  46. codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +1 -1
  47. codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +9 -5
  48. codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +6 -2
  49. codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +6 -2
  50. codemie_test_harness/tests/test_data/integrations_test_data.py +185 -65
  51. codemie_test_harness/tests/test_data/project_management_test_data.py +10 -4
  52. codemie_test_harness/tests/test_data/vcs_tools_test_data.py +8 -2
  53. codemie_test_harness/tests/ui/test_create_workflow.py +13 -0
  54. codemie_test_harness/tests/ui/test_edit_workflow.py +16 -0
  55. codemie_test_harness/tests/ui/test_workflow_details.py +17 -0
  56. codemie_test_harness/tests/ui/test_workflow_executions_page.py +36 -0
  57. codemie_test_harness/tests/ui/test_workflow_templates.py +8 -0
  58. codemie_test_harness/tests/ui/test_workflows.py +8 -0
  59. codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +3 -0
  60. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +6 -0
  61. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +6 -0
  62. codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +6 -0
  63. codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +3 -0
  64. codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +5 -0
  65. codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +10 -5
  66. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  67. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  68. codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  69. codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +15 -0
  70. codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +21 -0
  71. codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +9 -3
  72. codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +8 -0
  73. codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +3 -0
  74. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +6 -2
  75. codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +8 -2
  76. codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +3 -0
  77. codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +6 -0
  78. codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  79. codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +3 -0
  80. codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +4 -3
  81. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +17 -2
  82. codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +15 -0
  83. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +9 -0
  84. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +9 -0
  85. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +9 -0
  86. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +9 -0
  87. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +9 -0
  88. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +6 -0
  89. codemie_test_harness/tests/workflow/direct_tools_calling/{test_workflow_with_data_management_tools.py → test_workflow_with_data_management_tools_sql.py} +10 -1
  90. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +9 -0
  91. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +3 -0
  92. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +9 -0
  93. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +12 -4
  94. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +9 -0
  95. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +9 -0
  96. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +9 -0
  97. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +3 -0
  98. codemie_test_harness/tests/workflow/test_workflows.py +1 -0
  99. codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +3 -0
  100. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +6 -0
  101. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +6 -0
  102. codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +6 -0
  103. codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +3 -0
  104. codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +5 -0
  105. codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +10 -5
  106. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +20 -0
  107. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +20 -0
  108. codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +25 -0
  109. codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +15 -0
  110. codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +21 -0
  111. codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +12 -6
  112. codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +8 -0
  113. codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +6 -3
  114. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +6 -2
  115. codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +8 -2
  116. codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +3 -0
  117. codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +6 -0
  118. codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +3 -0
  119. codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +3 -0
  120. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/METADATA +2 -2
  121. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/RECORD +123 -123
  122. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/WHEEL +0 -0
  123. {codemie_test_harness-0.1.156.dist-info → codemie_test_harness-0.1.158.dist-info}/entry_points.txt +0 -0
@@ -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
  ]
@@ -1,8 +1,10 @@
1
+ import pytest
2
+
1
3
  from codemie_test_harness.tests.enums.tools import VcsTool, Toolkit
2
4
 
3
5
 
4
6
  vcs_tools_test_data = [
5
- (
7
+ pytest.param(
6
8
  Toolkit.VCS,
7
9
  VcsTool.GITHUB,
8
10
  {
@@ -88,8 +90,9 @@ vcs_tools_test_data = [
88
90
  "state_reason" : null
89
91
  }
90
92
  """,
93
+ marks=pytest.mark.github,
91
94
  ),
92
- (
95
+ pytest.param(
93
96
  Toolkit.VCS,
94
97
  VcsTool.GITLAB,
95
98
  {
@@ -131,5 +134,6 @@ vcs_tools_test_data = [
131
134
  true,"user":{"can_merge":true}}
132
135
 
133
136
  """,
137
+ marks=pytest.mark.gitlab,
134
138
  ),
135
139
  ]
@@ -7,177 +7,280 @@ from codemie_test_harness.tests.enums.integrations import DataBaseDialect
7
7
  from codemie_test_harness.tests.utils.aws_parameters_store import CredentialsUtil
8
8
 
9
9
  valid_integrations = [
10
- (
10
+ pytest.param(
11
11
  CredentialTypes.AWS,
12
12
  CredentialsUtil.aws_credentials(),
13
+ marks=[
14
+ pytest.mark.aws,
15
+ pytest.mark.cloud,
16
+ ],
13
17
  ),
14
- (
18
+ pytest.param(
15
19
  CredentialTypes.AZURE,
16
20
  CredentialsUtil.azure_credentials(),
21
+ marks=[
22
+ pytest.mark.azure,
23
+ pytest.mark.cloud,
24
+ ],
17
25
  ),
18
26
  pytest.param(
19
27
  CredentialTypes.GCP,
20
28
  CredentialsUtil.gcp_credentials(),
21
- marks=pytest.mark.skipif(
22
- os.getenv("ENV") == "azure",
23
- reason="Still have an issue with encoding long strings",
24
- ),
29
+ marks=[
30
+ pytest.mark.gcp,
31
+ pytest.mark.cloud,
32
+ pytest.mark.skipif(
33
+ os.getenv("ENV") == "azure",
34
+ reason="Still have an issue with encoding long strings",
35
+ ),
36
+ ],
25
37
  ),
26
- (
38
+ pytest.param(
27
39
  CredentialTypes.SONAR,
28
40
  CredentialsUtil.sonar_credentials(),
41
+ marks=pytest.mark.sonar,
29
42
  ),
30
- (
43
+ pytest.param(
31
44
  CredentialTypes.SONAR,
32
45
  CredentialsUtil.sonar_cloud_credentials(),
46
+ marks=pytest.mark.sonar,
33
47
  ),
34
- (
48
+ pytest.param(
35
49
  CredentialTypes.GIT,
36
50
  CredentialsUtil.gitlab_credentials(),
51
+ marks=pytest.mark.gitlab,
37
52
  ),
38
- (
53
+ pytest.param(
39
54
  CredentialTypes.GIT,
40
55
  CredentialsUtil.github_credentials(),
56
+ marks=pytest.mark.github,
41
57
  ),
42
- (
58
+ pytest.param(
43
59
  CredentialTypes.CONFLUENCE,
44
60
  CredentialsUtil.confluence_credentials(),
61
+ marks=[
62
+ pytest.mark.confluence,
63
+ pytest.mark.project_management,
64
+ ],
45
65
  ),
46
- (
66
+ pytest.param(
47
67
  CredentialTypes.CONFLUENCE,
48
68
  CredentialsUtil.confluence_cloud_credentials(),
69
+ marks=[
70
+ pytest.mark.confluence,
71
+ pytest.mark.confluence_cloud,
72
+ pytest.mark.project_management,
73
+ ],
49
74
  ),
50
- (
75
+ pytest.param(
51
76
  CredentialTypes.JIRA,
52
77
  CredentialsUtil.jira_credentials(),
78
+ marks=[
79
+ pytest.mark.jira,
80
+ pytest.mark.project_management,
81
+ ],
53
82
  ),
54
- (
83
+ pytest.param(
55
84
  CredentialTypes.JIRA,
56
85
  CredentialsUtil.jira_cloud_credentials(),
86
+ marks=[
87
+ pytest.mark.jira,
88
+ pytest.mark.jira_cloud,
89
+ pytest.mark.project_management,
90
+ ],
57
91
  ),
58
- (
92
+ pytest.param(
59
93
  CredentialTypes.SQL,
60
94
  CredentialsUtil.sql_credentials(DataBaseDialect.POSTGRES),
95
+ marks=pytest.mark.sql,
61
96
  ),
62
- (
97
+ pytest.param(
63
98
  CredentialTypes.SQL,
64
99
  CredentialsUtil.sql_credentials(DataBaseDialect.MY_SQL),
100
+ marks=pytest.mark.sql,
65
101
  ),
66
- (
102
+ pytest.param(
67
103
  CredentialTypes.ELASTIC,
68
104
  CredentialsUtil.elastic_credentials(),
105
+ marks=pytest.mark.elastic,
69
106
  ),
70
- (
107
+ pytest.param(
71
108
  CredentialTypes.MCP,
72
109
  CredentialsUtil.mcp_credentials(),
110
+ marks=pytest.mark.mcp,
73
111
  ),
74
- (
112
+ pytest.param(
75
113
  CredentialTypes.AZURE_DEVOPS,
76
114
  CredentialsUtil.azure_devops_credentials(),
115
+ marks=pytest.mark.azure,
77
116
  ),
78
- (
117
+ pytest.param(
79
118
  CredentialTypes.FILESYSTEM,
80
119
  CredentialsUtil.file_system_credentials(),
120
+ marks=pytest.mark.file_system,
81
121
  ),
82
- (
122
+ pytest.param(
83
123
  CredentialTypes.EMAIL,
84
124
  CredentialsUtil.gmail_credentials(),
125
+ marks=[
126
+ pytest.mark.notification,
127
+ pytest.mark.email,
128
+ ],
85
129
  ),
86
- (
130
+ pytest.param(
87
131
  CredentialTypes.TELEGRAM,
88
132
  CredentialsUtil.telegram_credentials(),
133
+ marks=[
134
+ pytest.mark.notification,
135
+ pytest.mark.telegram,
136
+ ],
89
137
  ),
90
- (
138
+ pytest.param(
91
139
  CredentialTypes.SERVICE_NOW,
92
140
  CredentialsUtil.servicenow_credentials(),
141
+ marks=pytest.mark.servicenow,
93
142
  ),
94
- (
143
+ pytest.param(
95
144
  CredentialTypes.KEYCLOAK,
96
145
  CredentialsUtil.keycloak_credentials(),
146
+ marks=pytest.mark.keycloak,
97
147
  ),
98
148
  pytest.param(
99
149
  CredentialTypes.KUBERNETES,
100
150
  CredentialsUtil.kubernetes_credentials(),
101
- marks=pytest.mark.skipif(
102
- os.getenv("ENV") == "azure",
103
- reason="Still have an issue with encoding long strings",
104
- ),
151
+ marks=[
152
+ pytest.mark.kubernetes,
153
+ pytest.mark.cloud,
154
+ pytest.mark.skipif(
155
+ os.getenv("ENV") == "azure",
156
+ reason="Still have an issue with encoding long strings",
157
+ ),
158
+ ],
105
159
  ),
106
160
  ]
107
161
 
108
162
  testable_integrations = [
109
- (
163
+ pytest.param(
110
164
  CredentialTypes.AWS,
111
165
  CredentialsUtil.aws_credentials(),
166
+ marks=[
167
+ pytest.mark.aws,
168
+ pytest.mark.cloud,
169
+ ],
112
170
  ),
113
- (
171
+ pytest.param(
114
172
  CredentialTypes.AZURE,
115
173
  CredentialsUtil.azure_credentials(),
174
+ marks=[
175
+ pytest.mark.azure,
176
+ pytest.mark.cloud,
177
+ ],
116
178
  ),
117
179
  pytest.param(
118
180
  CredentialTypes.GCP,
119
181
  CredentialsUtil.gcp_credentials(),
120
- marks=pytest.mark.skipif(
121
- os.getenv("ENV") == "azure",
122
- reason="Still have an issue with encoding long strings",
123
- ),
182
+ marks=[
183
+ pytest.mark.gcp,
184
+ pytest.mark.cloud,
185
+ pytest.mark.skipif(
186
+ os.getenv("ENV") == "azure",
187
+ reason="Still have an issue with encoding long strings",
188
+ ),
189
+ ],
124
190
  ),
125
- (
191
+ pytest.param(
126
192
  CredentialTypes.SONAR,
127
193
  CredentialsUtil.sonar_credentials(),
194
+ marks=pytest.mark.sonar,
128
195
  ),
129
- (
196
+ pytest.param(
130
197
  CredentialTypes.SONAR,
131
198
  CredentialsUtil.sonar_cloud_credentials(),
199
+ marks=pytest.mark.sonar,
132
200
  ),
133
- (
201
+ pytest.param(
134
202
  CredentialTypes.CONFLUENCE,
135
203
  CredentialsUtil.confluence_credentials(),
204
+ marks=[
205
+ pytest.mark.confluence,
206
+ pytest.mark.project_management,
207
+ ],
136
208
  ),
137
- (
209
+ pytest.param(
138
210
  CredentialTypes.CONFLUENCE,
139
211
  CredentialsUtil.confluence_cloud_credentials(),
212
+ marks=[
213
+ pytest.mark.confluence,
214
+ pytest.mark.confluence_cloud,
215
+ pytest.mark.project_management,
216
+ ],
140
217
  ),
141
- (
218
+ pytest.param(
142
219
  CredentialTypes.JIRA,
143
220
  CredentialsUtil.jira_credentials(),
221
+ marks=[
222
+ pytest.mark.jira,
223
+ pytest.mark.project_management,
224
+ ],
144
225
  ),
145
- (
226
+ pytest.param(
146
227
  CredentialTypes.JIRA,
147
228
  CredentialsUtil.jira_cloud_credentials(),
229
+ marks=[
230
+ pytest.mark.jira,
231
+ pytest.mark.jira_cloud,
232
+ pytest.mark.project_management,
233
+ ],
148
234
  ),
149
235
  pytest.param(
150
236
  CredentialTypes.EMAIL,
151
237
  CredentialsUtil.gmail_credentials(),
152
- marks=pytest.mark.skipif(
153
- os.getenv("ENV") == "local",
154
- reason="Skipping this test on local environment",
155
- ),
238
+ marks=[
239
+ pytest.mark.email,
240
+ pytest.mark.notification,
241
+ pytest.mark.skipif(
242
+ os.getenv("ENV") == "local",
243
+ reason="Skipping this test on local environment",
244
+ ),
245
+ ],
156
246
  ),
157
- (
247
+ pytest.param(
158
248
  CredentialTypes.SERVICE_NOW,
159
249
  CredentialsUtil.servicenow_credentials(),
250
+ marks=pytest.mark.servicenow,
160
251
  ),
161
252
  pytest.param(
162
253
  CredentialTypes.KUBERNETES,
163
254
  CredentialsUtil.kubernetes_credentials(),
164
- marks=pytest.mark.skipif(
165
- os.getenv("ENV") == "azure",
166
- reason="Still have an issue with encoding long strings",
167
- ),
255
+ marks=[
256
+ pytest.mark.kubernetes,
257
+ pytest.mark.cloud,
258
+ pytest.mark.skipif(
259
+ os.getenv("ENV") == "azure",
260
+ reason="Still have an issue with encoding long strings",
261
+ ),
262
+ ],
168
263
  ),
169
264
  ]
170
265
 
171
266
  invalid_integrations = [
172
- (
267
+ pytest.param(
173
268
  CredentialTypes.AWS,
174
269
  CredentialsUtil.invalid_aws_credentials(),
175
270
  "An error occurred (SignatureDoesNotMatch) when calling the GetUser operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.",
271
+ marks=[
272
+ pytest.mark.aws,
273
+ pytest.mark.cloud,
274
+ ],
176
275
  ),
177
- (
276
+ pytest.param(
178
277
  CredentialTypes.AZURE,
179
278
  CredentialsUtil.invalid_azure_credentials(),
180
279
  "Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app",
280
+ marks=[
281
+ pytest.mark.azure,
282
+ pytest.mark.cloud,
283
+ ],
181
284
  ),
182
285
  pytest.param(
183
286
  CredentialTypes.GCP,
@@ -185,48 +288,65 @@ invalid_integrations = [
185
288
  "Error: ('Could not deserialize key data. The data may be in an incorrect format, "
186
289
  + "the provided password may be incorrect, it may be encrypted with an unsupported algorithm, "
187
290
  + "or it may be an unsupported key type",
188
- marks=pytest.mark.skipif(
189
- os.getenv("ENV") == "azure",
190
- reason="Still have an issue with encoding long strings",
191
- ),
291
+ marks=[
292
+ pytest.mark.gcp,
293
+ pytest.mark.cloud,
294
+ pytest.mark.skipif(
295
+ os.getenv("ENV") == "azure",
296
+ reason="Still have an issue with encoding long strings",
297
+ ),
298
+ ],
192
299
  ),
193
- (
300
+ pytest.param(
194
301
  CredentialTypes.SONAR,
195
302
  CredentialsUtil.invalid_sonar_credentials(),
196
303
  "Invalid token",
304
+ marks=pytest.mark.sonar,
197
305
  ),
198
- (
306
+ pytest.param(
199
307
  CredentialTypes.SONAR,
200
308
  CredentialsUtil.invalid_sonar_cloud_credentials(),
201
309
  "Invalid token",
310
+ marks=pytest.mark.sonar,
202
311
  ),
203
312
  pytest.param(
204
313
  CredentialTypes.EMAIL,
205
314
  CredentialsUtil.invalid_gmail_credentials(),
206
315
  "SMTP Code: 535. SMTP error",
207
- marks=pytest.mark.skipif(
208
- os.getenv("ENV") == "local",
209
- reason="Skipping this test on local environment",
210
- ),
316
+ marks=[
317
+ pytest.mark.email,
318
+ pytest.mark.notification,
319
+ pytest.mark.skipif(
320
+ os.getenv("ENV") == "local",
321
+ reason="Skipping this test on local environment",
322
+ ),
323
+ ],
211
324
  ),
212
- (
325
+ pytest.param(
213
326
  CredentialTypes.JIRA,
214
327
  CredentialsUtil.invalid_jira_credentials(),
215
328
  "Unauthorized (401)",
329
+ marks=pytest.mark.jira,
216
330
  ),
217
- (
331
+ pytest.param(
218
332
  CredentialTypes.CONFLUENCE,
219
333
  CredentialsUtil.invalid_confluence_credentials(),
220
334
  "Access denied",
335
+ marks=pytest.mark.confluence,
221
336
  ),
222
- (
337
+ pytest.param(
223
338
  CredentialTypes.SERVICE_NOW,
224
339
  CredentialsUtil.invalid_servicenow_credentials(),
225
340
  'ServiceNow tool exception. Status: 401. Response: {"error":{"message":"User Not Authenticated","detail":"Required to provide Auth information"}',
341
+ marks=pytest.mark.servicenow,
226
342
  ),
227
- (
343
+ pytest.param(
228
344
  CredentialTypes.KUBERNETES,
229
345
  CredentialsUtil.invalid_kubernetes_credentials(),
230
346
  "Error: (401)\nReason: Unauthorized",
347
+ marks=[
348
+ pytest.mark.kubernetes,
349
+ pytest.mark.cloud,
350
+ ],
231
351
  ),
232
352
  ]
@@ -1,3 +1,5 @@
1
+ import pytest
2
+
1
3
  from codemie_test_harness.tests.enums.tools import ProjectManagementTool
2
4
  from codemie_test_harness.tests.test_data.pm_tools_test_data import (
3
5
  JIRA_TOOL_PROMPT,
@@ -12,28 +14,32 @@ from codemie_test_harness.tests.test_data.pm_tools_test_data import (
12
14
  from codemie_test_harness.tests.utils.constants import ProjectManagementIntegrationType
13
15
 
14
16
  pm_tools_test_data = [
15
- (
17
+ pytest.param(
16
18
  ProjectManagementTool.JIRA,
17
19
  ProjectManagementIntegrationType.JIRA,
18
20
  JIRA_TOOL_PROMPT,
19
21
  RESPONSE_FOR_JIRA_TOOL,
22
+ marks=pytest.mark.jira,
20
23
  ),
21
- (
24
+ pytest.param(
22
25
  ProjectManagementTool.CONFLUENCE,
23
26
  ProjectManagementIntegrationType.CONFLUENCE,
24
27
  CONFLUENCE_TOOL_PROMPT,
25
28
  RESPONSE_FOR_CONFLUENCE_TOOL,
29
+ marks=pytest.mark.confluence,
26
30
  ),
27
- (
31
+ pytest.param(
28
32
  ProjectManagementTool.JIRA,
29
33
  ProjectManagementIntegrationType.JIRA_CLOUD,
30
34
  JIRA_CLOUD_TOOL_PROMPT,
31
35
  RESPONSE_FOR_JIRA_CLOUD_TOOL,
36
+ marks=[pytest.mark.jira, pytest.mark.jira_cloud],
32
37
  ),
33
- (
38
+ pytest.param(
34
39
  ProjectManagementTool.CONFLUENCE,
35
40
  ProjectManagementIntegrationType.CONFLUENCE_CLOUD,
36
41
  CONFLUENCE_CLOUD_TOOL_PROMPT,
37
42
  RESPONSE_FOR_CONFLUENCE_CLOUD_TOOL,
43
+ marks=[pytest.mark.confluence, pytest.mark.confluence_cloud],
38
44
  ),
39
45
  ]
@@ -1,5 +1,7 @@
1
1
  import os
2
2
 
3
+ import pytest
4
+
3
5
  from codemie_test_harness.tests.enums.tools import VcsTool
4
6
 
5
7
  GITHUB_TOOL_TASK = (
@@ -57,6 +59,10 @@ RESPONSE_FOR_GITLAB = f"""
57
59
  """
58
60
 
59
61
  vcs_tools_test_data = [
60
- (VcsTool.GITHUB, GITHUB_TOOL_TASK, RESPONSE_FOR_GITHUB),
61
- (VcsTool.GITLAB, GITLAB_TOOL_TASK, RESPONSE_FOR_GITLAB),
62
+ pytest.param(
63
+ VcsTool.GITHUB, GITHUB_TOOL_TASK, RESPONSE_FOR_GITHUB, marks=pytest.mark.github
64
+ ),
65
+ pytest.param(
66
+ VcsTool.GITLAB, GITLAB_TOOL_TASK, RESPONSE_FOR_GITLAB, marks=pytest.mark.gitlab
67
+ ),
62
68
  ]
@@ -11,6 +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
15
  @pytest.mark.ui
15
16
  def test_create_workflow_page_elements_visibility(page):
16
17
  """Test that all main elements are visible on Create Workflow page."""
@@ -33,6 +34,7 @@ def test_create_workflow_page_elements_visibility(page):
33
34
  create_page.sidebar.should_have_workflows_title()
34
35
 
35
36
 
37
+ @pytest.mark.workflow_ui
36
38
  @pytest.mark.ui
37
39
  def test_create_workflow_form_interactions(page):
38
40
  """Test form field interactions and input validation."""
@@ -63,6 +65,7 @@ def test_create_workflow_form_interactions(page):
63
65
  create_page.should_have_shared_switch_unchecked()
64
66
 
65
67
 
68
+ @pytest.mark.workflow_ui
66
69
  @pytest.mark.ui
67
70
  def test_create_workflow_dropdowns_interaction(page):
68
71
  """Test dropdown interactions for project and workflow mode."""
@@ -84,6 +87,7 @@ def test_create_workflow_dropdowns_interaction(page):
84
87
  create_page.should_have_workflow_mode_selected("Sequential")
85
88
 
86
89
 
90
+ @pytest.mark.workflow_ui
87
91
  @pytest.mark.ui
88
92
  def test_create_workflow_yaml_editor_functionality(page):
89
93
  """Test YAML editor functionality."""
@@ -105,6 +109,7 @@ def test_create_workflow_yaml_editor_functionality(page):
105
109
  create_page.should_have_entered_yaml_configuration(test_yaml)
106
110
 
107
111
 
112
+ @pytest.mark.workflow_ui
108
113
  @pytest.mark.ui
109
114
  def test_create_workflow_visualization_section(page):
110
115
  """Test workflow visualization section functionality."""
@@ -121,6 +126,7 @@ def test_create_workflow_visualization_section(page):
121
126
  create_page.should_have_visualization_section_visible()
122
127
 
123
128
 
129
+ @pytest.mark.workflow_ui
124
130
  @pytest.mark.ui
125
131
  def test_create_workflow_navigation_buttons(page):
126
132
  """Test navigation button interactions."""
@@ -143,6 +149,7 @@ def test_create_workflow_navigation_buttons(page):
143
149
  create_page.should_have_url_containing("#/workflows/my")
144
150
 
145
151
 
152
+ @pytest.mark.workflow_ui
146
153
  @pytest.mark.ui
147
154
  def test_create_workflow_sidebar_functionality(page):
148
155
  """Test sidebar functionality from Create Workflow page."""
@@ -164,6 +171,7 @@ def test_create_workflow_sidebar_functionality(page):
164
171
  create_page.should_have_url_containing("#/workflows/all")
165
172
 
166
173
 
174
+ @pytest.mark.workflow_ui
167
175
  @pytest.mark.ui
168
176
  def test_create_workflow_header_navigation(page):
169
177
  """Test header navigation from Create Workflow page."""
@@ -185,6 +193,7 @@ def test_create_workflow_header_navigation(page):
185
193
  create_page.should_have_url_containing("#/workflows")
186
194
 
187
195
 
196
+ @pytest.mark.workflow_ui
188
197
  @pytest.mark.ui
189
198
  def test_create_workflow_workflow_mode_information(page):
190
199
  """Test workflow mode information display."""
@@ -195,6 +204,7 @@ def test_create_workflow_workflow_mode_information(page):
195
204
  create_page.should_show_workflow_mode_info()
196
205
 
197
206
 
207
+ @pytest.mark.workflow_ui
198
208
  @pytest.mark.ui
199
209
  def test_create_workflow_default_field_values(page):
200
210
  """Test default field values on page load."""
@@ -213,6 +223,7 @@ def test_create_workflow_default_field_values(page):
213
223
  create_page.should_have_workflow_mode_selected("Sequential")
214
224
 
215
225
 
226
+ @pytest.mark.workflow_ui
216
227
  @pytest.mark.ui
217
228
  def test_create_workflow_button_states(page):
218
229
  """Test create button enabled/disabled states."""
@@ -231,6 +242,7 @@ def test_create_workflow_button_states(page):
231
242
  create_page.should_have_create_button_disabled()
232
243
 
233
244
 
245
+ @pytest.mark.workflow_ui
234
246
  @pytest.mark.ui
235
247
  def test_create_workflow_form_validation(page):
236
248
  """Test form validation scenarios."""
@@ -247,6 +259,7 @@ def test_create_workflow_form_validation(page):
247
259
  )
248
260
 
249
261
 
262
+ @pytest.mark.workflow_ui
250
263
  @pytest.mark.ui
251
264
  def test_create_workflow_complete_workflow_creation(page):
252
265
  """Test complete workflow creation using the create_workflow method."""