codemie-test-harness 0.1.147__py3-none-any.whl → 0.1.149__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/tests/assistant/tools/access_management/__init__.py +0 -0
- codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +25 -0
- codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +2 -1
- codemie_test_harness/tests/conftest.py +31 -16
- codemie_test_harness/tests/enums/tools.py +7 -0
- codemie_test_harness/tests/integrations/project/test_default_integrations.py +37 -0
- codemie_test_harness/tests/integrations/project/test_project_integrations.py +3 -0
- codemie_test_harness/tests/integrations/user/test_default_integrations.py +37 -0
- codemie_test_harness/tests/integrations/user/test_user_integrations.py +3 -0
- codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +120 -0
- codemie_test_harness/tests/test_data/integrations_test_data.py +4 -0
- codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +35 -0
- codemie_test_harness/tests/utils/aws_parameters_store.py +28 -0
- codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py +0 -0
- codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +28 -0
- codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +3 -1
- codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +74 -0
- codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py +0 -0
- codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +29 -0
- codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +3 -1
- {codemie_test_harness-0.1.147.dist-info → codemie_test_harness-0.1.149.dist-info}/METADATA +2 -2
- {codemie_test_harness-0.1.147.dist-info → codemie_test_harness-0.1.149.dist-info}/RECORD +24 -15
- {codemie_test_harness-0.1.147.dist-info → codemie_test_harness-0.1.149.dist-info}/WHEEL +0 -0
- {codemie_test_harness-0.1.147.dist-info → codemie_test_harness-0.1.149.dist-info}/entry_points.txt +0 -0
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from codemie_test_harness.tests.enums.tools import Toolkit, AccessManagementTool
|
|
4
|
+
from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
|
|
5
|
+
KEYCLOAK_TOOL_PROMPT,
|
|
6
|
+
KEYCLOAK_TOOL_RESPONSE,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.mark.regression
|
|
11
|
+
def test_assistant_with_keycloak_tool(
|
|
12
|
+
assistant_utils,
|
|
13
|
+
assistant,
|
|
14
|
+
keycloak_integration,
|
|
15
|
+
similarity_check,
|
|
16
|
+
):
|
|
17
|
+
keycloak_assistant = assistant(
|
|
18
|
+
Toolkit.ACCESS_MANAGEMENT,
|
|
19
|
+
AccessManagementTool.KEYCLOAK,
|
|
20
|
+
settings=keycloak_integration,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
response = assistant_utils.ask_assistant(keycloak_assistant, KEYCLOAK_TOOL_PROMPT)
|
|
24
|
+
|
|
25
|
+
similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
|
|
@@ -4,6 +4,7 @@ import uuid
|
|
|
4
4
|
import pytest
|
|
5
5
|
from codemie_sdk.models.integration import CredentialTypes
|
|
6
6
|
|
|
7
|
+
from codemie_test_harness.tests.enums.integrations import DataBaseDialect
|
|
7
8
|
from codemie_test_harness.tests.enums.tools import (
|
|
8
9
|
Toolkit,
|
|
9
10
|
DataManagementTool,
|
|
@@ -46,7 +47,7 @@ def test_create_assistant_with_elastic_tool(
|
|
|
46
47
|
@pytest.mark.parametrize(
|
|
47
48
|
"db_dialect",
|
|
48
49
|
sql_tools_test_data,
|
|
49
|
-
ids=[
|
|
50
|
+
ids=[DataBaseDialect.MY_SQL, DataBaseDialect.POSTGRES, DataBaseDialect.MS_SQL],
|
|
50
51
|
)
|
|
51
52
|
@pytest.mark.testcase("EPMCDME-6132")
|
|
52
53
|
@pytest.mark.skipif(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import subprocess
|
|
3
3
|
import uuid
|
|
4
|
+
import atexit
|
|
4
5
|
from time import sleep
|
|
5
6
|
from typing import List, Optional
|
|
6
7
|
from pathlib import Path
|
|
@@ -56,6 +57,25 @@ from codemie_test_harness.tests.utils.yaml_utils import (
|
|
|
56
57
|
logger = setup_logger(__name__)
|
|
57
58
|
|
|
58
59
|
|
|
60
|
+
def force_finish_rp_launch():
|
|
61
|
+
from reportportal_client._internal.local import current
|
|
62
|
+
|
|
63
|
+
client = current()
|
|
64
|
+
if client and hasattr(client, "finish_launch") and hasattr(client, "launch_uuid"):
|
|
65
|
+
if (
|
|
66
|
+
client.launch_uuid
|
|
67
|
+
and hasattr(client, "use_own_launch")
|
|
68
|
+
and client.use_own_launch
|
|
69
|
+
):
|
|
70
|
+
from datetime import datetime, timezone
|
|
71
|
+
|
|
72
|
+
end_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.%fZ")
|
|
73
|
+
client.finish_launch(end_time)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
atexit.register(force_finish_rp_launch)
|
|
77
|
+
|
|
78
|
+
|
|
59
79
|
def pytest_configure(config):
|
|
60
80
|
"""Pytest hook that runs before test collection starts.
|
|
61
81
|
|
|
@@ -93,22 +113,6 @@ def pytest_configure(config):
|
|
|
93
113
|
)
|
|
94
114
|
|
|
95
115
|
|
|
96
|
-
def pytest_unconfigure(config):
|
|
97
|
-
"""Called before test process is exited - cleanup ReportPortal and other resources."""
|
|
98
|
-
from reportportal_client._internal.local import current
|
|
99
|
-
from datetime import datetime, timezone
|
|
100
|
-
|
|
101
|
-
client = current()
|
|
102
|
-
if client and hasattr(client, "finish_launch") and hasattr(client, "launch_uuid"):
|
|
103
|
-
if (
|
|
104
|
-
client.launch_uuid
|
|
105
|
-
and hasattr(client, "use_own_launch")
|
|
106
|
-
and client.use_own_launch
|
|
107
|
-
):
|
|
108
|
-
end_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.%fZ")
|
|
109
|
-
client.finish_launch(end_time)
|
|
110
|
-
|
|
111
|
-
|
|
112
116
|
@pytest.fixture(scope="session")
|
|
113
117
|
def client():
|
|
114
118
|
return get_client()
|
|
@@ -379,6 +383,17 @@ def service_now_integration(integration_utils):
|
|
|
379
383
|
integration_utils.delete_integration(integration)
|
|
380
384
|
|
|
381
385
|
|
|
386
|
+
@pytest.fixture(scope="module")
|
|
387
|
+
def keycloak_integration(integration_utils):
|
|
388
|
+
credential_values = CredentialsUtil.keycloak_credentials()
|
|
389
|
+
integration = integration_utils.create_integration(
|
|
390
|
+
CredentialTypes.KEYCLOAK, credential_values
|
|
391
|
+
)
|
|
392
|
+
yield integration
|
|
393
|
+
if integration:
|
|
394
|
+
integration_utils.delete_integration(integration)
|
|
395
|
+
|
|
396
|
+
|
|
382
397
|
@pytest.fixture(scope="function")
|
|
383
398
|
def general_integration(integration_utils):
|
|
384
399
|
created_integration: Optional[Integration] = None
|
|
@@ -19,6 +19,7 @@ class Toolkit(str, Enum):
|
|
|
19
19
|
OPEN_API = "OpenAPI"
|
|
20
20
|
DATA_MANAGEMENT = "Data Management"
|
|
21
21
|
SERVICENOW = "IT Service Management"
|
|
22
|
+
ACCESS_MANAGEMENT = "Access Management"
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
class GitTool(str, Enum):
|
|
@@ -178,3 +179,9 @@ class ServiceNowTool(str, Enum):
|
|
|
178
179
|
"""Enum for ServiceNow tool names."""
|
|
179
180
|
|
|
180
181
|
SERVICE_NOW = "servicenow_table_tool"
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class AccessManagementTool(str, Enum):
|
|
185
|
+
"""Enum for Access Management tool names."""
|
|
186
|
+
|
|
187
|
+
KEYCLOAK = "keycloak"
|
|
@@ -12,6 +12,7 @@ from codemie_test_harness.tests.enums.tools import (
|
|
|
12
12
|
ProjectManagementTool,
|
|
13
13
|
CodeBaseTool,
|
|
14
14
|
CloudTool,
|
|
15
|
+
AccessManagementTool,
|
|
15
16
|
)
|
|
16
17
|
from codemie_test_harness.tests.test_data.ado_test_plan_tools_test_data import (
|
|
17
18
|
ado_test_plan_get_test_data,
|
|
@@ -23,6 +24,10 @@ from codemie_test_harness.tests.test_data.codebase_tools_test_data import (
|
|
|
23
24
|
from codemie_test_harness.tests.test_data.git_tools_test_data import (
|
|
24
25
|
list_branches_set_active_branch_test_data,
|
|
25
26
|
)
|
|
27
|
+
from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
|
|
28
|
+
KEYCLOAK_TOOL_PROMPT,
|
|
29
|
+
KEYCLOAK_TOOL_RESPONSE,
|
|
30
|
+
)
|
|
26
31
|
from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
27
32
|
EMAIL_TOOL_PROMPT,
|
|
28
33
|
EMAIL_RESPONSE,
|
|
@@ -270,3 +275,35 @@ def test_assistant_with_default_integration_email(
|
|
|
270
275
|
response = assistant_utils.ask_assistant(email_assistant, EMAIL_TOOL_PROMPT)
|
|
271
276
|
|
|
272
277
|
similarity_check.check_similarity(response, EMAIL_RESPONSE)
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
@pytest.mark.regression
|
|
281
|
+
def test_assistant_with_default_integration_keycloak(
|
|
282
|
+
general_integration,
|
|
283
|
+
integration_utils,
|
|
284
|
+
assistant,
|
|
285
|
+
assistant_utils,
|
|
286
|
+
similarity_check,
|
|
287
|
+
):
|
|
288
|
+
# delete existing integrations of the same type
|
|
289
|
+
for integration_type in IntegrationType:
|
|
290
|
+
integration_utils.delete_integrations_by_type(
|
|
291
|
+
integration_type, CredentialTypes.KEYCLOAK, test_project_name
|
|
292
|
+
)
|
|
293
|
+
# create a new integration
|
|
294
|
+
general_integration(
|
|
295
|
+
integration_type=IntegrationType.PROJECT,
|
|
296
|
+
credential_type=CredentialTypes.KEYCLOAK,
|
|
297
|
+
credential_values=CredentialsUtil.keycloak_credentials(),
|
|
298
|
+
project_name=test_project_name,
|
|
299
|
+
)
|
|
300
|
+
# create an assistant
|
|
301
|
+
keycloak_assistant = assistant(
|
|
302
|
+
Toolkit.ACCESS_MANAGEMENT,
|
|
303
|
+
AccessManagementTool.KEYCLOAK,
|
|
304
|
+
project_name=test_project_name,
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
response = assistant_utils.ask_assistant(keycloak_assistant, KEYCLOAK_TOOL_PROMPT)
|
|
308
|
+
|
|
309
|
+
similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
|
|
@@ -46,6 +46,7 @@ from codemie_test_harness.tests.utils.base_utils import (
|
|
|
46
46
|
f"Project integration: {CredentialTypes.TELEGRAM}",
|
|
47
47
|
f"Project integration: {CredentialTypes.SERVICE_NOW}",
|
|
48
48
|
f"Project integration: {CredentialTypes.KUBERNETES}",
|
|
49
|
+
f"Project integration: {CredentialTypes.KEYCLOAK}",
|
|
49
50
|
],
|
|
50
51
|
)
|
|
51
52
|
@pytest.mark.regression
|
|
@@ -148,6 +149,7 @@ def test_integration_after_creation(
|
|
|
148
149
|
f"Project integration: {CredentialTypes.TELEGRAM}",
|
|
149
150
|
f"Project integration: {CredentialTypes.SERVICE_NOW}",
|
|
150
151
|
f"Project integration: {CredentialTypes.KUBERNETES}",
|
|
152
|
+
f"Project integration: {CredentialTypes.KEYCLOAK}",
|
|
151
153
|
],
|
|
152
154
|
)
|
|
153
155
|
@pytest.mark.tescase("EPMCDME-2376")
|
|
@@ -333,6 +335,7 @@ def test_integration_during_creation_with_invalid_credentials(
|
|
|
333
335
|
f"Project integration: {CredentialTypes.TELEGRAM}",
|
|
334
336
|
f"Project integration: {CredentialTypes.SERVICE_NOW}",
|
|
335
337
|
f"Project integration: {CredentialTypes.KUBERNETES}",
|
|
338
|
+
f"Project integration: {CredentialTypes.KEYCLOAK}",
|
|
336
339
|
],
|
|
337
340
|
)
|
|
338
341
|
@pytest.mark.tescase("EPMCDME-2374")
|
|
@@ -12,6 +12,7 @@ from codemie_test_harness.tests.enums.tools import (
|
|
|
12
12
|
ProjectManagementTool,
|
|
13
13
|
CodeBaseTool,
|
|
14
14
|
CloudTool,
|
|
15
|
+
AccessManagementTool,
|
|
15
16
|
)
|
|
16
17
|
from codemie_test_harness.tests.test_data.ado_test_plan_tools_test_data import (
|
|
17
18
|
ado_test_plan_get_test_data,
|
|
@@ -23,6 +24,10 @@ from codemie_test_harness.tests.test_data.codebase_tools_test_data import (
|
|
|
23
24
|
from codemie_test_harness.tests.test_data.git_tools_test_data import (
|
|
24
25
|
list_branches_set_active_branch_test_data,
|
|
25
26
|
)
|
|
27
|
+
from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
|
|
28
|
+
KEYCLOAK_TOOL_PROMPT,
|
|
29
|
+
KEYCLOAK_TOOL_RESPONSE,
|
|
30
|
+
)
|
|
26
31
|
from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
27
32
|
EMAIL_TOOL_PROMPT,
|
|
28
33
|
EMAIL_RESPONSE,
|
|
@@ -270,3 +275,35 @@ def test_assistant_with_default_integration_email(
|
|
|
270
275
|
response = assistant_utils.ask_assistant(email_assistant, EMAIL_TOOL_PROMPT)
|
|
271
276
|
|
|
272
277
|
similarity_check.check_similarity(response, EMAIL_RESPONSE)
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
@pytest.mark.regression
|
|
281
|
+
def test_assistant_with_default_integration_keycloak(
|
|
282
|
+
general_integration,
|
|
283
|
+
integration_utils,
|
|
284
|
+
assistant,
|
|
285
|
+
assistant_utils,
|
|
286
|
+
similarity_check,
|
|
287
|
+
):
|
|
288
|
+
# delete existing integrations of the same type
|
|
289
|
+
for integration_type in IntegrationType:
|
|
290
|
+
integration_utils.delete_integrations_by_type(
|
|
291
|
+
integration_type, CredentialTypes.KEYCLOAK, test_project_name
|
|
292
|
+
)
|
|
293
|
+
# create a new integration
|
|
294
|
+
general_integration(
|
|
295
|
+
integration_type=IntegrationType.USER,
|
|
296
|
+
credential_type=CredentialTypes.KEYCLOAK,
|
|
297
|
+
credential_values=CredentialsUtil.keycloak_credentials(),
|
|
298
|
+
project_name=test_project_name,
|
|
299
|
+
)
|
|
300
|
+
# create an assistant
|
|
301
|
+
keycloak_assistant = assistant(
|
|
302
|
+
Toolkit.ACCESS_MANAGEMENT,
|
|
303
|
+
AccessManagementTool.KEYCLOAK,
|
|
304
|
+
project_name=test_project_name,
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
response = assistant_utils.ask_assistant(keycloak_assistant, KEYCLOAK_TOOL_PROMPT)
|
|
308
|
+
|
|
309
|
+
similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
|
|
@@ -46,6 +46,7 @@ from codemie_test_harness.tests.utils.base_utils import (
|
|
|
46
46
|
f"User integration: {CredentialTypes.TELEGRAM}",
|
|
47
47
|
f"User integration: {CredentialTypes.SERVICE_NOW}",
|
|
48
48
|
f"User integration: {CredentialTypes.KUBERNETES}",
|
|
49
|
+
f"User integration: {CredentialTypes.KEYCLOAK}",
|
|
49
50
|
],
|
|
50
51
|
)
|
|
51
52
|
@pytest.mark.regression
|
|
@@ -150,6 +151,7 @@ def test_integration_after_creation(
|
|
|
150
151
|
f"User integration: {CredentialTypes.TELEGRAM}",
|
|
151
152
|
f"User integration: {CredentialTypes.SERVICE_NOW}",
|
|
152
153
|
f"User integration: {CredentialTypes.KUBERNETES}",
|
|
154
|
+
f"User integration: {CredentialTypes.KEYCLOAK}",
|
|
153
155
|
],
|
|
154
156
|
)
|
|
155
157
|
@pytest.mark.tescase("EPMCDME-2375")
|
|
@@ -336,6 +338,7 @@ def test_integration_during_creation_with_invalid_credentials(
|
|
|
336
338
|
f"User integration: {CredentialTypes.TELEGRAM}",
|
|
337
339
|
f"User integration: {CredentialTypes.SERVICE_NOW}",
|
|
338
340
|
f"User integration: {CredentialTypes.KUBERNETES}",
|
|
341
|
+
f"User integration: {CredentialTypes.KEYCLOAK}",
|
|
339
342
|
],
|
|
340
343
|
)
|
|
341
344
|
@pytest.mark.tescase("EPMCDME-2373")
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
KEYCLOAK_DIRECT_TOOL_PROMPT = {
|
|
2
|
+
"method": "GET",
|
|
3
|
+
"relative_url": "/users/profile",
|
|
4
|
+
"params": "",
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
KEYCLOAK_DIRECT_TOOL_RESPONSE = """
|
|
8
|
+
{
|
|
9
|
+
"attributes": [
|
|
10
|
+
{
|
|
11
|
+
"name": "username",
|
|
12
|
+
"displayName": "${username}",
|
|
13
|
+
"validations": {
|
|
14
|
+
"length": {
|
|
15
|
+
"min": 3,
|
|
16
|
+
"max": 255
|
|
17
|
+
},
|
|
18
|
+
"username-prohibited-characters": {},
|
|
19
|
+
"up-username-not-idn-homograph": {}
|
|
20
|
+
},
|
|
21
|
+
"permissions": {
|
|
22
|
+
"view": [
|
|
23
|
+
"admin",
|
|
24
|
+
"user"
|
|
25
|
+
],
|
|
26
|
+
"edit": [
|
|
27
|
+
"admin",
|
|
28
|
+
"user"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"multivalued": false
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "email",
|
|
35
|
+
"displayName": "${email}",
|
|
36
|
+
"validations": {
|
|
37
|
+
"email": {},
|
|
38
|
+
"length": {
|
|
39
|
+
"max": 255
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": {
|
|
43
|
+
"roles": [
|
|
44
|
+
"user"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"permissions": {
|
|
48
|
+
"view": [
|
|
49
|
+
"admin",
|
|
50
|
+
"user"
|
|
51
|
+
],
|
|
52
|
+
"edit": [
|
|
53
|
+
"admin",
|
|
54
|
+
"user"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"multivalued": false
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "firstName",
|
|
61
|
+
"displayName": "${firstName}",
|
|
62
|
+
"validations": {
|
|
63
|
+
"length": {
|
|
64
|
+
"max": 255
|
|
65
|
+
},
|
|
66
|
+
"person-name-prohibited-characters": {}
|
|
67
|
+
},
|
|
68
|
+
"required": {
|
|
69
|
+
"roles": [
|
|
70
|
+
"user"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"permissions": {
|
|
74
|
+
"view": [
|
|
75
|
+
"admin",
|
|
76
|
+
"user"
|
|
77
|
+
],
|
|
78
|
+
"edit": [
|
|
79
|
+
"admin",
|
|
80
|
+
"user"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"multivalued": false
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "lastName",
|
|
87
|
+
"displayName": "${lastName}",
|
|
88
|
+
"validations": {
|
|
89
|
+
"length": {
|
|
90
|
+
"max": 255
|
|
91
|
+
},
|
|
92
|
+
"person-name-prohibited-characters": {}
|
|
93
|
+
},
|
|
94
|
+
"required": {
|
|
95
|
+
"roles": [
|
|
96
|
+
"user"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"permissions": {
|
|
100
|
+
"view": [
|
|
101
|
+
"admin",
|
|
102
|
+
"user"
|
|
103
|
+
],
|
|
104
|
+
"edit": [
|
|
105
|
+
"admin",
|
|
106
|
+
"user"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"multivalued": false
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"groups": [
|
|
113
|
+
{
|
|
114
|
+
"name": "user-metadata",
|
|
115
|
+
"displayHeader": "User metadata",
|
|
116
|
+
"displayDescription": "Attributes, which refer to user metadata"
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
"""
|
|
@@ -91,6 +91,10 @@ valid_integrations = [
|
|
|
91
91
|
CredentialTypes.SERVICE_NOW,
|
|
92
92
|
CredentialsUtil.servicenow_credentials(),
|
|
93
93
|
),
|
|
94
|
+
(
|
|
95
|
+
CredentialTypes.KEYCLOAK,
|
|
96
|
+
CredentialsUtil.keycloak_credentials(),
|
|
97
|
+
),
|
|
94
98
|
pytest.param(
|
|
95
99
|
CredentialTypes.KUBERNETES,
|
|
96
100
|
CredentialsUtil.kubernetes_credentials(),
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
KEYCLOAK_TOOL_PROMPT = "Get information about all users"
|
|
2
|
+
|
|
3
|
+
KEYCLOAK_TOOL_RESPONSE = """
|
|
4
|
+
1. **User 1:**
|
|
5
|
+
- **ID:** 8246cdb1-a480-487c-9d6a-6873331dcffe
|
|
6
|
+
- **Username:** codemie-autotests-1@epam.com
|
|
7
|
+
- **First Name:** Codemie
|
|
8
|
+
- **Last Name:** Autotests-1
|
|
9
|
+
- **Email:** codemie-autotests-1@epam.com
|
|
10
|
+
- **Email Verified:** false
|
|
11
|
+
- **Created Timestamp:** 1756980669356
|
|
12
|
+
- **Enabled:** true
|
|
13
|
+
- **Access Permissions:**
|
|
14
|
+
- Manage Group Membership: true
|
|
15
|
+
- View: true
|
|
16
|
+
- Map Roles: true
|
|
17
|
+
- Impersonate: true
|
|
18
|
+
- Manage: true
|
|
19
|
+
|
|
20
|
+
2. **User 2:**
|
|
21
|
+
- **ID:** e5710bb7-e3a5-4910-bd64-e9dcb75b1bfa
|
|
22
|
+
- **Username:** codemie-autotests-2@epam.com
|
|
23
|
+
- **First Name:** Codemie
|
|
24
|
+
- **Last Name:** Autotests-2
|
|
25
|
+
- **Email:** codemie-autotests-2@epam.com
|
|
26
|
+
- **Email Verified:** false
|
|
27
|
+
- **Created Timestamp:** 1756980685292
|
|
28
|
+
- **Enabled:** true
|
|
29
|
+
- **Access Permissions:**
|
|
30
|
+
- Manage Group Membership: true
|
|
31
|
+
- View: true
|
|
32
|
+
- Map Roles: true
|
|
33
|
+
- Impersonate: true
|
|
34
|
+
- Manage: true
|
|
35
|
+
"""
|
|
@@ -564,6 +564,34 @@ class CredentialsUtil:
|
|
|
564
564
|
cred.value = "wrong_token"
|
|
565
565
|
return credentials
|
|
566
566
|
|
|
567
|
+
@staticmethod
|
|
568
|
+
def keycloak_credentials() -> List[CredentialValues]:
|
|
569
|
+
keycloak_creds = AwsParameterStore.get_cloud_provider_credentials("keycloak")
|
|
570
|
+
return [
|
|
571
|
+
CredentialValues(
|
|
572
|
+
key="url", value=keycloak_creds.get("keycloak_admin", {}).get("url")
|
|
573
|
+
),
|
|
574
|
+
CredentialValues(
|
|
575
|
+
key="realm", value=keycloak_creds.get("keycloak_admin", {}).get("realm")
|
|
576
|
+
),
|
|
577
|
+
CredentialValues(
|
|
578
|
+
key="client_id",
|
|
579
|
+
value=keycloak_creds.get("keycloak_admin", {}).get("client_id"),
|
|
580
|
+
),
|
|
581
|
+
CredentialValues(
|
|
582
|
+
key="client_secret",
|
|
583
|
+
value=keycloak_creds.get("keycloak_admin", {}).get("client_secret"),
|
|
584
|
+
),
|
|
585
|
+
]
|
|
586
|
+
|
|
587
|
+
@staticmethod
|
|
588
|
+
def invalid_keycloak_credentials() -> List[CredentialValues]:
|
|
589
|
+
credentials = CredentialsUtil.keycloak_credentials()
|
|
590
|
+
for cred in credentials:
|
|
591
|
+
if cred.key == "client_secret":
|
|
592
|
+
cred.value = "wrong_secret"
|
|
593
|
+
return credentials
|
|
594
|
+
|
|
567
595
|
@staticmethod
|
|
568
596
|
def jira_cloud_jql() -> str:
|
|
569
597
|
jira_creds = AwsParameterStore.get_cloud_provider_credentials("jira")
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from codemie_test_harness.tests.enums.tools import Toolkit, AccessManagementTool
|
|
4
|
+
from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
|
|
5
|
+
KEYCLOAK_TOOL_PROMPT,
|
|
6
|
+
KEYCLOAK_TOOL_RESPONSE,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.mark.regression
|
|
11
|
+
def test_workflow_with_assistant_with_keycloak_tool(
|
|
12
|
+
assistant,
|
|
13
|
+
workflow_with_assistant,
|
|
14
|
+
workflow_utils,
|
|
15
|
+
keycloak_integration,
|
|
16
|
+
similarity_check,
|
|
17
|
+
):
|
|
18
|
+
assistant = assistant(
|
|
19
|
+
Toolkit.ACCESS_MANAGEMENT,
|
|
20
|
+
AccessManagementTool.KEYCLOAK,
|
|
21
|
+
settings=keycloak_integration,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
workflow_with_assistant = workflow_with_assistant(assistant, KEYCLOAK_TOOL_PROMPT)
|
|
25
|
+
response = workflow_utils.execute_workflow(
|
|
26
|
+
workflow_with_assistant.id, assistant.name
|
|
27
|
+
)
|
|
28
|
+
similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
|
|
@@ -3,6 +3,8 @@ import os
|
|
|
3
3
|
import pytest
|
|
4
4
|
|
|
5
5
|
from codemie_sdk.models.integration import CredentialTypes
|
|
6
|
+
|
|
7
|
+
from codemie_test_harness.tests.enums.integrations import DataBaseDialect
|
|
6
8
|
from codemie_test_harness.tests.enums.tools import DataManagementTool, Toolkit
|
|
7
9
|
from codemie_test_harness.tests.test_data.data_management_tools_test_data import (
|
|
8
10
|
ELASTIC_TOOL_TASK,
|
|
@@ -46,7 +48,7 @@ def test_workflow_with_assistant_with_elastic_tools(
|
|
|
46
48
|
@pytest.mark.parametrize(
|
|
47
49
|
"db_dialect",
|
|
48
50
|
sql_tools_test_data,
|
|
49
|
-
ids=[
|
|
51
|
+
ids=[DataBaseDialect.MY_SQL, DataBaseDialect.POSTGRES, DataBaseDialect.MS_SQL],
|
|
50
52
|
)
|
|
51
53
|
@pytest.mark.skipif(
|
|
52
54
|
os.getenv("ENV") == "local", reason="Skipping this test on local environment"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import copy
|
|
2
|
+
import json
|
|
3
|
+
import random
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
|
|
7
|
+
from codemie_test_harness.tests.enums.tools import AccessManagementTool
|
|
8
|
+
from codemie_test_harness.tests.test_data.direct_tools.keycloak_tool_test_data import (
|
|
9
|
+
KEYCLOAK_DIRECT_TOOL_PROMPT,
|
|
10
|
+
KEYCLOAK_DIRECT_TOOL_RESPONSE,
|
|
11
|
+
)
|
|
12
|
+
from codemie_test_harness.tests.utils.base_utils import get_random_name
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@pytest.mark.regression
|
|
16
|
+
@pytest.mark.skip(reason="Need to investigate codemie-tools for fix")
|
|
17
|
+
def test_workflow_with_keycloak_tool_direct(
|
|
18
|
+
keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
|
|
19
|
+
):
|
|
20
|
+
assistant_and_state_name = get_random_name()
|
|
21
|
+
|
|
22
|
+
test_workflow = workflow_with_tool(
|
|
23
|
+
assistant_and_state_name,
|
|
24
|
+
AccessManagementTool.KEYCLOAK,
|
|
25
|
+
integration=keycloak_integration,
|
|
26
|
+
)
|
|
27
|
+
response = workflow_utils.execute_workflow(
|
|
28
|
+
test_workflow.id,
|
|
29
|
+
assistant_and_state_name,
|
|
30
|
+
user_input=json.dumps(KEYCLOAK_DIRECT_TOOL_PROMPT),
|
|
31
|
+
)
|
|
32
|
+
similarity_check.check_similarity(response, KEYCLOAK_DIRECT_TOOL_RESPONSE)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@pytest.mark.regression
|
|
36
|
+
def test_workflow_with_keycloak_tool_with_hardcoded_args(
|
|
37
|
+
keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
|
|
38
|
+
):
|
|
39
|
+
assistant_and_state_name = get_random_name()
|
|
40
|
+
|
|
41
|
+
test_workflow = workflow_with_tool(
|
|
42
|
+
assistant_and_state_name,
|
|
43
|
+
AccessManagementTool.KEYCLOAK,
|
|
44
|
+
integration=keycloak_integration,
|
|
45
|
+
tool_args=KEYCLOAK_DIRECT_TOOL_PROMPT,
|
|
46
|
+
)
|
|
47
|
+
response = workflow_utils.execute_workflow(
|
|
48
|
+
test_workflow.id, assistant_and_state_name
|
|
49
|
+
)
|
|
50
|
+
similarity_check.check_similarity(response, KEYCLOAK_DIRECT_TOOL_RESPONSE)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@pytest.mark.regression
|
|
54
|
+
@pytest.mark.skip(reason="Need to investigate codemie-tools for fix")
|
|
55
|
+
def test_workflow_with_keycloak_tool_with_overriding_args(
|
|
56
|
+
keycloak_integration, workflow_utils, workflow_with_tool, similarity_check
|
|
57
|
+
):
|
|
58
|
+
assistant_and_state_name = get_random_name()
|
|
59
|
+
|
|
60
|
+
args_copy = copy.deepcopy(KEYCLOAK_DIRECT_TOOL_PROMPT)
|
|
61
|
+
args_copy = {key: random.randint(1, 10) for key in args_copy}
|
|
62
|
+
|
|
63
|
+
test_workflow = workflow_with_tool(
|
|
64
|
+
assistant_and_state_name,
|
|
65
|
+
AccessManagementTool.KEYCLOAK,
|
|
66
|
+
integration=keycloak_integration,
|
|
67
|
+
tool_args=args_copy,
|
|
68
|
+
)
|
|
69
|
+
response = workflow_utils.execute_workflow(
|
|
70
|
+
test_workflow.id,
|
|
71
|
+
assistant_and_state_name,
|
|
72
|
+
user_input=json.dumps(KEYCLOAK_DIRECT_TOOL_PROMPT),
|
|
73
|
+
)
|
|
74
|
+
similarity_check.check_similarity(response, KEYCLOAK_DIRECT_TOOL_RESPONSE)
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from codemie_test_harness.tests.enums.tools import AccessManagementTool
|
|
4
|
+
from codemie_test_harness.tests.test_data.keycloak_tool_test_data import (
|
|
5
|
+
KEYCLOAK_TOOL_PROMPT,
|
|
6
|
+
KEYCLOAK_TOOL_RESPONSE,
|
|
7
|
+
)
|
|
8
|
+
from codemie_test_harness.tests.utils.base_utils import get_random_name
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@pytest.mark.regression
|
|
12
|
+
def test_workflow_with_virtual_assistant_with_keycloak_tool(
|
|
13
|
+
keycloak_integration,
|
|
14
|
+
workflow_with_virtual_assistant,
|
|
15
|
+
workflow_utils,
|
|
16
|
+
similarity_check,
|
|
17
|
+
):
|
|
18
|
+
assistant_and_state_name = get_random_name()
|
|
19
|
+
|
|
20
|
+
test_workflow = workflow_with_virtual_assistant(
|
|
21
|
+
assistant_and_state_name,
|
|
22
|
+
AccessManagementTool.KEYCLOAK,
|
|
23
|
+
integration=keycloak_integration,
|
|
24
|
+
task=KEYCLOAK_TOOL_PROMPT,
|
|
25
|
+
)
|
|
26
|
+
response = workflow_utils.execute_workflow(
|
|
27
|
+
test_workflow.id, assistant_and_state_name
|
|
28
|
+
)
|
|
29
|
+
similarity_check.check_similarity(response, KEYCLOAK_TOOL_RESPONSE)
|
|
@@ -3,6 +3,8 @@ import os
|
|
|
3
3
|
import pytest
|
|
4
4
|
|
|
5
5
|
from codemie_sdk.models.integration import CredentialTypes
|
|
6
|
+
|
|
7
|
+
from codemie_test_harness.tests.enums.integrations import DataBaseDialect
|
|
6
8
|
from codemie_test_harness.tests.enums.tools import DataManagementTool
|
|
7
9
|
from codemie_test_harness.tests.test_data.data_management_tools_test_data import (
|
|
8
10
|
ELASTIC_TOOL_TASK,
|
|
@@ -51,7 +53,7 @@ def test_workflow_with_elastic_tools(
|
|
|
51
53
|
@pytest.mark.parametrize(
|
|
52
54
|
"db_dialect",
|
|
53
55
|
sql_tools_test_data,
|
|
54
|
-
ids=[
|
|
56
|
+
ids=[DataBaseDialect.MY_SQL, DataBaseDialect.POSTGRES, DataBaseDialect.MS_SQL],
|
|
55
57
|
)
|
|
56
58
|
@pytest.mark.skipif(
|
|
57
59
|
os.getenv("ENV") == "local", reason="Skipping this test on local environment"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: codemie-test-harness
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.149
|
|
4
4
|
Summary: Autotest for CodeMie backend and UI
|
|
5
5
|
Author: Anton Yeromin
|
|
6
6
|
Author-email: anton_yeromin@epam.com
|
|
@@ -13,7 +13,7 @@ Requires-Dist: aws-assume-role-lib (>=2.10.0,<3.0.0)
|
|
|
13
13
|
Requires-Dist: boto3 (>=1.39.8,<2.0.0)
|
|
14
14
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
15
15
|
Requires-Dist: codemie-plugins (>=0.1.123,<0.2.0)
|
|
16
|
-
Requires-Dist: codemie-sdk-python (==0.1.
|
|
16
|
+
Requires-Dist: codemie-sdk-python (==0.1.149)
|
|
17
17
|
Requires-Dist: pytest (>=8.4.1,<9.0.0)
|
|
18
18
|
Requires-Dist: pytest-playwright (>=0.7.0,<0.8.0)
|
|
19
19
|
Requires-Dist: pytest-reportportal (>=5.5.2,<6.0.0)
|
|
@@ -23,6 +23,8 @@ codemie_test_harness/tests/assistant/default_integrations/test_default_integrati
|
|
|
23
23
|
codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py,sha256=pYbhC7wSt5ekL-OERggxiuaAZYvxAtT2QdKiKfLVzi4,9809
|
|
24
24
|
codemie_test_harness/tests/assistant/test_assistants.py,sha256=eSLZ6hIaQZcFs32V65_ZZwhsbZztslmoxgV2BzyPy6I,12157
|
|
25
25
|
codemie_test_harness/tests/assistant/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
codemie_test_harness/tests/assistant/tools/access_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py,sha256=-SahC4w2EwgTpE4K6h3IIFOMr48ONtp7MyFvw1ZR7v0,695
|
|
26
28
|
codemie_test_harness/tests/assistant/tools/ado/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
29
|
codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py,sha256=jfkd8KoVRhyQ5PnjU5gdtmHp34oaayBFxFE-B329RDc,4925
|
|
28
30
|
codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py,sha256=3WHax84U7DKT0rn377eIV_cmSJcTSJQxecRBaEcUMts,3464
|
|
@@ -32,7 +34,7 @@ codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py,sha256=mymG
|
|
|
32
34
|
codemie_test_harness/tests/assistant/tools/codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
35
|
codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py,sha256=KbQqf9fQGN1sPM7nKTkIsq07NpYClSm7O1wAp3rGQJg,1624
|
|
34
36
|
codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py,sha256=
|
|
37
|
+
codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py,sha256=DQ13-x2hduqakOIayvCpgKaq95D60FhFdTs1VjIe3A8,2683
|
|
36
38
|
codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
39
|
codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py,sha256=CrnJMvfQS3qPxpklaYBonof3W1J729wt1UefaM4tL3g,3826
|
|
38
40
|
codemie_test_harness/tests/assistant/tools/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -55,7 +57,7 @@ codemie_test_harness/tests/assistant/tools/servicenow/__init__.py,sha256=47DEQpj
|
|
|
55
57
|
codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py,sha256=JV_n6COaCsd0_rxQBJvvLZfPdo8BsCbG8Ti-UpzFvfQ,644
|
|
56
58
|
codemie_test_harness/tests/assistant/tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
59
|
codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py,sha256=5-QybLWmYSqHG4Sqr-IN-vNcStV4skSwCJQN44Nfats,922
|
|
58
|
-
codemie_test_harness/tests/conftest.py,sha256=
|
|
60
|
+
codemie_test_harness/tests/conftest.py,sha256=8B0Jf0xoX2pt64WQY4h0p7eKfReypRWpftZ50jSDdG0,28966
|
|
59
61
|
codemie_test_harness/tests/conversations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
62
|
codemie_test_harness/tests/conversations/test_conversations_endpoints.py,sha256=SQraRVrjjE4mYTs4EuGzMrO96DuOuKTiYQ4ZRBhHx70,3913
|
|
61
63
|
codemie_test_harness/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -63,14 +65,14 @@ codemie_test_harness/tests/e2e/test_e2e.py,sha256=RUvSu_uNInU1OFfkNft3-Cmd0KZV7J
|
|
|
63
65
|
codemie_test_harness/tests/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
66
|
codemie_test_harness/tests/enums/integrations.py,sha256=hG_cEKN0N5gtGHyrh3wuCpNAWhPyNOJaKsAw16iNshg,164
|
|
65
67
|
codemie_test_harness/tests/enums/model_types.py,sha256=k07srBYIF9uRwbLWY9pBNYzi0s3Jdt8ajES9p-UmrYo,1185
|
|
66
|
-
codemie_test_harness/tests/enums/tools.py,sha256=
|
|
68
|
+
codemie_test_harness/tests/enums/tools.py,sha256=wt8dAKXOA3YOuyzwmTi1oIGVNoGFWfRNllPfenN2nh8,5233
|
|
67
69
|
codemie_test_harness/tests/integrations/__init__.py,sha256=5vnZbxvYQ1Y91O8DJG3QfBHWcdYsMii59cMBzsvHBCg,237
|
|
68
70
|
codemie_test_harness/tests/integrations/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
-
codemie_test_harness/tests/integrations/project/test_default_integrations.py,sha256=
|
|
70
|
-
codemie_test_harness/tests/integrations/project/test_project_integrations.py,sha256
|
|
71
|
+
codemie_test_harness/tests/integrations/project/test_default_integrations.py,sha256=PcX06eyD5X1Ph-UxR0HtTz_OCwIizL_XJI-SKEd5uvA,9906
|
|
72
|
+
codemie_test_harness/tests/integrations/project/test_project_integrations.py,sha256=-rL_egAXw7Z0Z3ecnjyPsIGseuJG2unuJa8mroiB_0M,14105
|
|
71
73
|
codemie_test_harness/tests/integrations/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
-
codemie_test_harness/tests/integrations/user/test_default_integrations.py,sha256=
|
|
73
|
-
codemie_test_harness/tests/integrations/user/test_user_integrations.py,sha256=
|
|
74
|
+
codemie_test_harness/tests/integrations/user/test_default_integrations.py,sha256=YpkEqJ9DLHMh0pp4xec6RZxa7IoDdU4885hPOPq1cG0,9885
|
|
75
|
+
codemie_test_harness/tests/integrations/user/test_user_integrations.py,sha256=TjtPLOs6OrzyJwZNNJlEtOG-udej1QHyhGQt1VqqeHc,13942
|
|
74
76
|
codemie_test_harness/tests/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
77
|
codemie_test_harness/tests/llm/assistants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
78
|
codemie_test_harness/tests/llm/assistants/test_llm.py,sha256=pLF1ETtwQI3y2uz08wfhr3fGIADFAbbGxEwosHhLjzE,3246
|
|
@@ -106,6 +108,7 @@ codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py,sh
|
|
|
106
108
|
codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py,sha256=Eeba0oxKUmBEin2Scbv3VnLOEQRLmK6QR0qk5cRYRNM,1583
|
|
107
109
|
codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py,sha256=y9awl1IA6EXGXyz05QzcNdt5z7Rk9J5LzIbfi4CFE3s,3233
|
|
108
110
|
codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py,sha256=8Y8D_pmHVnzhSnYNeiJng3dQYj5k1GkBZ8-BLHlB5kE,1380
|
|
111
|
+
codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py,sha256=6lU1YC6DSV6e_3VNQEVvtA4o3_lSFgOQik4T0u-TF1g,2979
|
|
109
112
|
codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py,sha256=Blr7qIBEMxAh2_WRvFQr1hYt6wnez03v1b2SpEWha-o,1533
|
|
110
113
|
codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py,sha256=UwXVrwD3MnOIS2wwikNDk1EZNYR14p_IjhOOUwjYHOI,497
|
|
111
114
|
codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py,sha256=Nugg9rk-qnDFwwY_ISU0mxuz7nTxTHTMcyvp8ZRtjC8,20869
|
|
@@ -134,7 +137,8 @@ codemie_test_harness/tests/test_data/files/test.yaml,sha256=3NDQyzwkRM5d6eCYMScN
|
|
|
134
137
|
codemie_test_harness/tests/test_data/git_tools_test_data.py,sha256=7U05vLqkh5uJ0l_KJeHis549id1Of99K0jCsWOb0nXM,8485
|
|
135
138
|
codemie_test_harness/tests/test_data/google_datasource_test_data.py,sha256=fhMJVTU0udINKtBQ750c_c279NzibGiZumnIaCPLtBo,511
|
|
136
139
|
codemie_test_harness/tests/test_data/index_test_data.py,sha256=jSJ7YSNisFADONRKSwkLUhuOLrSRe_fZisWdjflOjE4,996
|
|
137
|
-
codemie_test_harness/tests/test_data/integrations_test_data.py,sha256=
|
|
140
|
+
codemie_test_harness/tests/test_data/integrations_test_data.py,sha256=Iu48BhQZsRgsBmvNyyDj_vwaUvK1JwEtb5KpgTkhQnc,6694
|
|
141
|
+
codemie_test_harness/tests/test_data/keycloak_tool_test_data.py,sha256=uF8YqHGgLpQVxKdpKXLe-7F-ipEGQiHHh28nZvvVGM8,1244
|
|
138
142
|
codemie_test_harness/tests/test_data/llm_test_data.py,sha256=SJIBGtC8Ha7T0S7G9598PvHzzQIR6gg4HnNCtgYmLYw,2200
|
|
139
143
|
codemie_test_harness/tests/test_data/mcp_server_test_data.py,sha256=m6PImS_J2gPNY5ijf9MG_eOX_LxJjTZ23AXQDgaK_Oc,7151
|
|
140
144
|
codemie_test_harness/tests/test_data/notification_tools_test_data.py,sha256=Rqo-5u7PULDJddidjqcJfnsus6-JbDABk9147JX0pqs,855
|
|
@@ -211,7 +215,7 @@ codemie_test_harness/tests/ui/test_workflow_templates.py,sha256=A6eaR-7M5VXoPlUJ
|
|
|
211
215
|
codemie_test_harness/tests/ui/test_workflows.py,sha256=_UQT9soqxV68aqFt0V3KJ3iJFA55kzE891EJIER9kk8,3464
|
|
212
216
|
codemie_test_harness/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
213
217
|
codemie_test_harness/tests/utils/assistant_utils.py,sha256=jy3dFF4ZiT22Wippl1a5jIEAAyJ71P0ss8AIHPefz6k,6511
|
|
214
|
-
codemie_test_harness/tests/utils/aws_parameters_store.py,sha256=
|
|
218
|
+
codemie_test_harness/tests/utils/aws_parameters_store.py,sha256=fiOFvgdhEOdq0zO6xStQUPYrxkhkUCo5SS8ZejVbLBI,21711
|
|
215
219
|
codemie_test_harness/tests/utils/base_utils.py,sha256=tfishCUxO3iEuasWOifoF9_fXspm4uIHS26Ryqu-NxA,5998
|
|
216
220
|
codemie_test_harness/tests/utils/client_factory.py,sha256=Yyg2iXe7g7fIfIUbOH8z_8qgVo_lB-nYLOfCV5ONXFw,641
|
|
217
221
|
codemie_test_harness/tests/utils/constants.py,sha256=lb6mgLjt0GM85Khs18rL1jnE9ILx8L811ykNhpF6IDA,1111
|
|
@@ -235,6 +239,8 @@ codemie_test_harness/tests/utils/workflow_utils.py,sha256=qKvI2fFiSo_RirFiWLyGRC
|
|
|
235
239
|
codemie_test_harness/tests/utils/yaml_utils.py,sha256=y9fUf4u4G4SoCktPOwaC5x71iaDKhktbz_XUfI9kNis,1661
|
|
236
240
|
codemie_test_harness/tests/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
237
241
|
codemie_test_harness/tests/workflow/assistant_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
242
|
+
codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
243
|
+
codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py,sha256=qkW4wUqdWJDIL3zmrvJ1TvY8xgq0hE1EcEBXkyuUVRo,832
|
|
238
244
|
codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
239
245
|
codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py,sha256=3vco4wU0sEj6e9KXnPj812Ltxc44LB_GiRzm4GVxi-8,4893
|
|
240
246
|
codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py,sha256=Tz5OUah3FaFBliKuBdlS1Wn9nwWDAkGkJRKgFPjJAU0,3454
|
|
@@ -244,7 +250,7 @@ codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_ass
|
|
|
244
250
|
codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
245
251
|
codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py,sha256=d_4CJbikU5QzeRjwk0GyY0HE_iI_ojSG0gNCss2SVHQ,1962
|
|
246
252
|
codemie_test_harness/tests/workflow/assistant_tools/data_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
247
|
-
codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py,sha256=
|
|
253
|
+
codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py,sha256=jDpCLegJDi8D_iMtoPu5K7ooa-sqBOwqyh-91lT-wzE,2957
|
|
248
254
|
codemie_test_harness/tests/workflow/assistant_tools/default_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
249
255
|
codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py,sha256=05YTrr9IqR9gR-jPVdNNzbSiwWbK7yHOUunPttRwoTk,8153
|
|
250
256
|
codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py,sha256=QmgFweqg-pSQs29O4jnanVlUZjoVejqbO35oqV2MGzk,8419
|
|
@@ -276,6 +282,7 @@ codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py,sha256=47DE
|
|
|
276
282
|
codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
277
283
|
codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py,sha256=uWhdAnVqk-WrSB9QrHZyJLIQPvLhHayfEL1OZugU00A,8232
|
|
278
284
|
codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py,sha256=kbCExIw1BBgNjmLNPpwJMncyNvA2Lq3xZQoTVr6K9QI,8437
|
|
285
|
+
codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py,sha256=HtAYfbVhIAmVY200avGS4_ziNR0geKAx8U35Vtf9ICE,2507
|
|
279
286
|
codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py,sha256=UUSgyhE7GKAkyCQMUm7Y2VkQkiR7-Fr5robBpLvoH-M,2685
|
|
280
287
|
codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py,sha256=FOQEqm0u4UvRAfjJFo2API-qySGy4sqKD-hwE1Lm6Js,2744
|
|
281
288
|
codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py,sha256=4h3z3tUTqBLZPjDQCbnW2CkoGX0gEjZlDkYbLHSilZA,2799
|
|
@@ -292,6 +299,8 @@ codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_serv
|
|
|
292
299
|
codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py,sha256=8qKTiFvL0wNBpDv5mUalsYfPVCfq_eoTzQTQdMs5SOY,3005
|
|
293
300
|
codemie_test_harness/tests/workflow/test_workflows.py,sha256=haGPZqkV0PPBENN_pHc6x6gn84VdjWOrniuadFATKA0,1141
|
|
294
301
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
302
|
+
codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
303
|
+
codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py,sha256=aHz3MFmDHU6yNLdSAc9NMEAJsEo3hLMS7SO3YKX0ORc,921
|
|
295
304
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
305
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py,sha256=ge7JJVTWrdoXsGq8nhgbC4fATnq4YP-fVZm2ZSMJ6eo,5785
|
|
297
306
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py,sha256=zsGsfdVoNcMLLajy0WQ-I-Y7ZEXbdBq2Y1_wtWuxKeY,4148
|
|
@@ -301,7 +310,7 @@ codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_
|
|
|
301
310
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py,sha256=kCzJLR44IfB9ZncaLNOtyUqlzvyOG3BXclsDFS5MaQg,46
|
|
302
311
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py,sha256=xDuIH03ZEsnbUTp3Rz775mcXZPKrTvXbCQXpDNypWIk,3091
|
|
303
312
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py,sha256=Vk3MBJAVfJA8uxRJdY3aH_5lCWkTBcE_l9xw5FzUt7I,53
|
|
304
|
-
codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py,sha256=
|
|
313
|
+
codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py,sha256=Znpd8WsAfsemSgAGaOBz2Ou2x31USdga3n5NIkDHt_U,3245
|
|
305
314
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
306
315
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py,sha256=mQKv_R98aiUXlPWhQruPBLPtin4gvBq8aykOvQOLRxc,8091
|
|
307
316
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py,sha256=gC0Qj98ekHtKRRiNgtZTkb2k8TJJ5_ZVzvUQ_9r6k6c,8377
|
|
@@ -327,7 +336,7 @@ codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.
|
|
|
327
336
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py,sha256=Cxe5Yuy9JE_IEsnQOThpVIZQqpfLuHfDkF6JwLngDc8,890
|
|
328
337
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
329
338
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py,sha256=tm0NvUf_UtzLPTYJWykYpsNoxoVs-Eh80guDmRwImwg,1106
|
|
330
|
-
codemie_test_harness-0.1.
|
|
331
|
-
codemie_test_harness-0.1.
|
|
332
|
-
codemie_test_harness-0.1.
|
|
333
|
-
codemie_test_harness-0.1.
|
|
339
|
+
codemie_test_harness-0.1.149.dist-info/METADATA,sha256=OI6YmvBvp-IxM9jGPP-TzNi50E-WmAOagHFD7b9nHFg,8998
|
|
340
|
+
codemie_test_harness-0.1.149.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
|
341
|
+
codemie_test_harness-0.1.149.dist-info/entry_points.txt,sha256=n98t-EOM5M1mnMl_j2X4siyeO9zr0WD9a5LF7JyElIM,73
|
|
342
|
+
codemie_test_harness-0.1.149.dist-info/RECORD,,
|
|
File without changes
|
{codemie_test_harness-0.1.147.dist-info → codemie_test_harness-0.1.149.dist-info}/entry_points.txt
RENAMED
|
File without changes
|