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.

@@ -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
- return settings
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
- return settings
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
- return settings
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.164
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.164)
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=fvauCdWikYJ392_qPPwNIDyVlKkjxpuvel9V7X3LkmI,28758
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=PgC3Zuu5Ml9C18Uz_nLVFRXd3IFJhNZ3TbfAUaMANoE,1231
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=E1H1enkPqJz0tfenEOQC4noNZlm8oCWupPfVnlxkzDM,2415
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.164.dist-info/METADATA,sha256=_2t47U1CTgfwwUZdBDDuxWDV7fLzSOovs6xlaP9MMQI,8998
354
- codemie_test_harness-0.1.164.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
355
- codemie_test_harness-0.1.164.dist-info/entry_points.txt,sha256=n98t-EOM5M1mnMl_j2X4siyeO9zr0WD9a5LF7JyElIM,73
356
- codemie_test_harness-0.1.164.dist-info/RECORD,,
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,,