fix(ts-oss, py): release Oracle client on init failure, validate insert batches (#6839)

This commit is contained in:
Kartik
2026-08-06 18:16:25 +05:30
committed by GitHub
parent beea626f0a
commit 4a0a9a92a6
4 changed files with 145 additions and 20 deletions
+21
View File
@@ -331,6 +331,27 @@ def test_config_rejects_none_for_non_optional_fields(field, value):
OracleAIVectorSearchConfig(client=object(), **{field: value})
def test_init_closes_owned_client_when_post_connect_setup_fails(monkeypatch):
fake_connection = MagicMock(spec=oracledb.Connection)
fake_connection.thin = True
fake_connection.version = "23.4.0.0"
monkeypatch.setattr(oracledb, "connect", MagicMock(return_value=fake_connection))
monkeypatch.setattr(OracleAIVectorSearch, "create_col", MagicMock(side_effect=RuntimeError("boom")))
monkeypatch.setattr(OracleAIVectorSearch, "__del__", lambda self: None)
with pytest.raises(RuntimeError, match="boom"):
OracleAIVectorSearch(
collection_name=_unique_collection_name(),
embedding_model_dims=DIM,
connection_params={"user": "u", "password": "p", "dsn": "d"},
use_connection_pool=False,
do_create_index=False,
)
fake_connection.close.assert_called_once()
@pytest.mark.parametrize(
("metric", "distance", "expected_score"),
[