Skip to content

Commit a72b1e4

Browse files
[ENG-677] weaviate precheck fix (#604)
1 parent cd5ce65 commit a72b1e4

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## [1.2.20]
2+
3+
* **fix: Prevent weaviate cloud precheck from passing with invalid config**
4+
15
## [1.2.19]
26

37
* **fix: Pinned aibotocore to skip version that's incompatible with recent botocore version**

test/integration/connectors/weaviate/test_cloud.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
import pytest
22

33
from test.integration.connectors.utils.constants import DESTINATION_TAG, VECTOR_DB_TAG
4-
from unstructured_ingest.error import ValueError
4+
from unstructured_ingest.error import DestinationConnectionError
5+
from unstructured_ingest.error import ValueError as IngestValueError
56
from unstructured_ingest.processes.connectors.weaviate.cloud import (
67
CONNECTOR_TYPE,
78
CloudWeaviateAccessConfig,
89
CloudWeaviateConnectionConfig,
10+
CloudWeaviateUploader,
11+
CloudWeaviateUploaderConfig,
912
)
1013

1114

1215
@pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, VECTOR_DB_TAG)
1316
def test_weaviate_failing_connection_config():
14-
with pytest.raises(ValueError):
17+
with pytest.raises(IngestValueError):
1518
CloudWeaviateConnectionConfig(
1619
access_config=CloudWeaviateAccessConfig(api_key="my key", password="password"),
1720
username="username",
@@ -37,3 +40,20 @@ def test_weaviate_connection_config_anonymous():
3740
anonymous=True,
3841
cluster_url="clusterurl",
3942
)
43+
44+
45+
@pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, VECTOR_DB_TAG)
46+
def test_weaviate_precheck_invalid_credentials():
47+
"""Test that precheck properly validates connection with invalid credentials."""
48+
connection_config = CloudWeaviateConnectionConfig(
49+
access_config=CloudWeaviateAccessConfig(api_key="invalid-test-key-12345"),
50+
cluster_url="https://invalid-test-cluster.weaviate.cloud",
51+
anonymous=False,
52+
)
53+
upload_config = CloudWeaviateUploaderConfig(collection=None)
54+
uploader = CloudWeaviateUploader(
55+
connection_config=connection_config,
56+
upload_config=upload_config,
57+
)
58+
with pytest.raises(DestinationConnectionError):
59+
uploader.precheck()

unstructured_ingest/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.2.19" # pragma: no cover
1+
__version__ = "1.2.20" # pragma: no cover

unstructured_ingest/processes/connectors/weaviate/weaviate.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,10 @@ def _collection_exists(self, collection_name: Optional[str] = None):
220220

221221
def precheck(self) -> None:
222222
try:
223-
self.connection_config.get_client()
223+
with self.connection_config.get_client():
224+
# Connection test successful - client is available but not needed
225+
pass
226+
224227
# only if collection name populated should we check that it exists
225228
if self.upload_config.collection and not self._collection_exists():
226229
raise DestinationConnectionError(

0 commit comments

Comments
 (0)