codemie-test-harness 0.1.164__py3-none-any.whl → 0.1.166__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/conftest.py +41 -6
- codemie_test_harness/tests/enums/model_types.py +1 -0
- codemie_test_harness/tests/test_data/llm_test_data.py +1 -0
- {codemie_test_harness-0.1.164.dist-info → codemie_test_harness-0.1.166.dist-info}/METADATA +2 -2
- {codemie_test_harness-0.1.164.dist-info → codemie_test_harness-0.1.166.dist-info}/RECORD +7 -7
- {codemie_test_harness-0.1.164.dist-info → codemie_test_harness-0.1.166.dist-info}/WHEEL +0 -0
- {codemie_test_harness-0.1.164.dist-info → codemie_test_harness-0.1.166.dist-info}/entry_points.txt +0 -0
|
@@ -60,6 +60,33 @@ from codemie_test_harness.tests.utils.env_resolver import (
|
|
|
60
60
|
logger = setup_logger(__name__)
|
|
61
61
|
|
|
62
62
|
|
|
63
|
+
def cleanup_plugin_process(process):
|
|
64
|
+
"""Helper function to cleanly terminate a plugin process.
|
|
65
|
+
|
|
66
|
+
Args:
|
|
67
|
+
process: The subprocess.Popen process to terminate
|
|
68
|
+
"""
|
|
69
|
+
if process and process.poll() is None: # Process is still running
|
|
70
|
+
logger.info(f"Terminating plugin process with PID: {process.pid}")
|
|
71
|
+
try:
|
|
72
|
+
process.terminate()
|
|
73
|
+
process.wait(timeout=10) # Wait up to 10 seconds for graceful shutdown
|
|
74
|
+
logger.info(
|
|
75
|
+
f"Successfully terminated plugin process with PID: {process.pid}"
|
|
76
|
+
)
|
|
77
|
+
except subprocess.TimeoutExpired:
|
|
78
|
+
logger.warning(
|
|
79
|
+
f"Plugin process {process.pid} did not terminate gracefully, forcing kill"
|
|
80
|
+
)
|
|
81
|
+
process.kill()
|
|
82
|
+
process.wait()
|
|
83
|
+
logger.info(f"Successfully killed plugin process with PID: {process.pid}")
|
|
84
|
+
except Exception as e:
|
|
85
|
+
logger.error(f"Error during plugin process cleanup: {e}")
|
|
86
|
+
else:
|
|
87
|
+
logger.info("Plugin process already terminated or not found")
|
|
88
|
+
|
|
89
|
+
|
|
63
90
|
def pytest_configure(config):
|
|
64
91
|
"""Pytest hook that runs before test collection starts.
|
|
65
92
|
|
|
@@ -730,9 +757,11 @@ def filesystem_server(integration_utils):
|
|
|
730
757
|
"-e",
|
|
731
758
|
"filesystem=FILE_PATHS",
|
|
732
759
|
]
|
|
733
|
-
subprocess.Popen(command, env=env)
|
|
760
|
+
process = subprocess.Popen(command, env=env)
|
|
761
|
+
logger.info(f"Started filesystem server process with PID: {process.pid}")
|
|
734
762
|
sleep(10)
|
|
735
|
-
|
|
763
|
+
yield settings
|
|
764
|
+
cleanup_plugin_process(process)
|
|
736
765
|
|
|
737
766
|
|
|
738
767
|
@pytest.fixture(scope="session")
|
|
@@ -764,19 +793,23 @@ def cli_server(integration_utils):
|
|
|
764
793
|
"-e",
|
|
765
794
|
"cli-mcp-server=ALLOWED_DIR",
|
|
766
795
|
]
|
|
767
|
-
subprocess.Popen(command, env=env)
|
|
796
|
+
process = subprocess.Popen(command, env=env)
|
|
797
|
+
logger.info(f"Started CLI server process with PID: {process.pid}")
|
|
768
798
|
sleep(10)
|
|
769
|
-
|
|
799
|
+
yield settings
|
|
800
|
+
cleanup_plugin_process(process)
|
|
770
801
|
|
|
771
802
|
|
|
772
803
|
@pytest.fixture(scope="session")
|
|
773
804
|
def development_plugin(integration_utils):
|
|
774
805
|
key = str(uuid.uuid4())
|
|
806
|
+
logger.info(f"Plugin key: {key}")
|
|
775
807
|
|
|
776
808
|
credential_values = CredentialsManager.plugin_credentials(key)
|
|
777
809
|
settings = integration_utils.create_integration(
|
|
778
810
|
CredentialTypes.PLUGIN, credential_values
|
|
779
811
|
)
|
|
812
|
+
logger.info(f"Integration id: {settings.id}")
|
|
780
813
|
|
|
781
814
|
env = os.environ.copy()
|
|
782
815
|
env["PLUGIN_EXPERIMENTAL_PROTOCOL"] = "true"
|
|
@@ -792,9 +825,11 @@ def development_plugin(integration_utils):
|
|
|
792
825
|
"--repo-path",
|
|
793
826
|
str(TESTS_PATH),
|
|
794
827
|
]
|
|
795
|
-
subprocess.Popen(command, env=env)
|
|
828
|
+
process = subprocess.Popen(command, env=env)
|
|
829
|
+
logger.info(f"Started development plugin process with PID: {process.pid}")
|
|
796
830
|
sleep(10)
|
|
797
|
-
|
|
831
|
+
yield settings
|
|
832
|
+
cleanup_plugin_process(process)
|
|
798
833
|
|
|
799
834
|
|
|
800
835
|
@pytest.fixture(scope="module")
|
|
@@ -24,6 +24,7 @@ class ModelTypes(str, Enum):
|
|
|
24
24
|
CLAUDE_SONNET_V2_VERTEX = "claude-sonnet-v2-vertex"
|
|
25
25
|
GEMINI_15_PRO = "gemini-1.5-pro"
|
|
26
26
|
GEMINI_20_FLASH = "gemini-2.0-flash"
|
|
27
|
+
GEMINI_25_FLASH = "gemini-2.5-flash"
|
|
27
28
|
GEMINI_25_PRO = "gemini-2.5-pro"
|
|
28
29
|
CLAUDE_SONNET_37_VERTEX = "claude-sonnet-3-7-vertex"
|
|
29
30
|
|
|
@@ -41,6 +41,7 @@ MODEL_RESPONSES = [
|
|
|
41
41
|
GCP_ENVS,
|
|
42
42
|
),
|
|
43
43
|
LlmResponseData(ModelTypes.GEMINI_20_FLASH, GCP_ENVS),
|
|
44
|
+
LlmResponseData(ModelTypes.GEMINI_25_FLASH, GCP_ENVS),
|
|
44
45
|
LlmResponseData(ModelTypes.GEMINI_25_PRO, GCP_ENVS),
|
|
45
46
|
LlmResponseData(
|
|
46
47
|
ModelTypes.CLAUDE_SONNET_37_VERTEX,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: codemie-test-harness
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.166
|
|
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.166)
|
|
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)
|
|
@@ -59,7 +59,7 @@ codemie_test_harness/tests/assistant/tools/servicenow/__init__.py,sha256=47DEQpj
|
|
|
59
59
|
codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py,sha256=Io-E5m8f1sA2EP6xQ1l4oJ4-4e9uKPqXHkmxwH0ApFM,691
|
|
60
60
|
codemie_test_harness/tests/assistant/tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py,sha256=YjTa1iTU7RpG1y9PpkRkz8RkOqOZXQ8C15X92m2ZRhc,962
|
|
62
|
-
codemie_test_harness/tests/conftest.py,sha256=
|
|
62
|
+
codemie_test_harness/tests/conftest.py,sha256=AnxzI-2MYQg9W8f3Zw6FzzDQ1eZakLjT0s4AXfLBm1o,30281
|
|
63
63
|
codemie_test_harness/tests/conversations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
64
|
codemie_test_harness/tests/conversations/test_conversations_endpoints.py,sha256=rLYMWLcOWuWFXSSfIjYSO4rjh_QZPZwQSfOQ8znhyr4,4163
|
|
65
65
|
codemie_test_harness/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -67,7 +67,7 @@ codemie_test_harness/tests/e2e/test_e2e.py,sha256=DavQToIg5SR38xw3AqhwNGzp5hli0n
|
|
|
67
67
|
codemie_test_harness/tests/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
68
|
codemie_test_harness/tests/enums/environment.py,sha256=R3z7VetKeaJorUyrB5hKmlZVMyjHiAw4R5vREcBfdpU,3051
|
|
69
69
|
codemie_test_harness/tests/enums/integrations.py,sha256=hG_cEKN0N5gtGHyrh3wuCpNAWhPyNOJaKsAw16iNshg,164
|
|
70
|
-
codemie_test_harness/tests/enums/model_types.py,sha256=
|
|
70
|
+
codemie_test_harness/tests/enums/model_types.py,sha256=XtLT0breZ1y6QWjmzc6Qw664ZY0lklGRZ_u1AxyXLN4,1272
|
|
71
71
|
codemie_test_harness/tests/enums/tools.py,sha256=7vZeQFo9FYgNt2q7LVpAvzyKDLbqtxapIeZo-g3cE2s,5772
|
|
72
72
|
codemie_test_harness/tests/integrations/__init__.py,sha256=5vnZbxvYQ1Y91O8DJG3QfBHWcdYsMii59cMBzsvHBCg,237
|
|
73
73
|
codemie_test_harness/tests/integrations/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -144,7 +144,7 @@ codemie_test_harness/tests/test_data/google_datasource_test_data.py,sha256=fhMJV
|
|
|
144
144
|
codemie_test_harness/tests/test_data/index_test_data.py,sha256=VZJC_Fmko32EHaybUwCy0mWMiwAeUAAmhRa0Xt4oTHQ,1115
|
|
145
145
|
codemie_test_harness/tests/test_data/integrations_test_data.py,sha256=1YecCRnrBq5NiM9HEnyKFZ17nuFEnZUlNzKcwo09SDM,13050
|
|
146
146
|
codemie_test_harness/tests/test_data/keycloak_tool_test_data.py,sha256=uF8YqHGgLpQVxKdpKXLe-7F-ipEGQiHHh28nZvvVGM8,1244
|
|
147
|
-
codemie_test_harness/tests/test_data/llm_test_data.py,sha256=
|
|
147
|
+
codemie_test_harness/tests/test_data/llm_test_data.py,sha256=akJYX36GfR1s5gHKOaWbTGB-4XBjCh1pc00quCjHFoQ,2474
|
|
148
148
|
codemie_test_harness/tests/test_data/mcp_server_test_data.py,sha256=m6PImS_J2gPNY5ijf9MG_eOX_LxJjTZ23AXQDgaK_Oc,7151
|
|
149
149
|
codemie_test_harness/tests/test_data/notification_tools_test_data.py,sha256=D7KLP-cyQljU2Io21CukphnzMadJ7VJ0FhXFdU3GfGk,794
|
|
150
150
|
codemie_test_harness/tests/test_data/open_api_tools_test_data.py,sha256=XhVzelRXgLXHF2iIvhI70SP6qHQjT7QW70S06dF6XJI,2480
|
|
@@ -350,7 +350,7 @@ codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.
|
|
|
350
350
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py,sha256=vq6tucNBxiNIQSmIj_pYiiPm0lipU9X3kzeCd6xEbRM,966
|
|
351
351
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
352
352
|
codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py,sha256=uD2qs361j6Egp4UumfoQ4gC24-NioXfiW0IF53N9hVA,1175
|
|
353
|
-
codemie_test_harness-0.1.
|
|
354
|
-
codemie_test_harness-0.1.
|
|
355
|
-
codemie_test_harness-0.1.
|
|
356
|
-
codemie_test_harness-0.1.
|
|
353
|
+
codemie_test_harness-0.1.166.dist-info/METADATA,sha256=PVBlFSNDf9gbwIdlbXPt9qHtl2u6lK749GZJJiJjC5g,8998
|
|
354
|
+
codemie_test_harness-0.1.166.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
|
355
|
+
codemie_test_harness-0.1.166.dist-info/entry_points.txt,sha256=n98t-EOM5M1mnMl_j2X4siyeO9zr0WD9a5LF7JyElIM,73
|
|
356
|
+
codemie_test_harness-0.1.166.dist-info/RECORD,,
|
|
File without changes
|
{codemie_test_harness-0.1.164.dist-info → codemie_test_harness-0.1.166.dist-info}/entry_points.txt
RENAMED
|
File without changes
|