@@ -355,6 +355,8 @@ def test_to_dict(self, _mock_weaviate, monkeypatch):
355355 "type" : "haystack_integrations.document_stores.weaviate.document_store.WeaviateDocumentStore" ,
356356 "init_parameters" : {
357357 "url" : "http://localhost:8080" ,
358+ "grpc_port" : 50051 ,
359+ "grpc_secure" : False ,
358360 "collection_settings" : {
359361 "class" : "Default" ,
360362 "invertedIndexConfig" : {"indexNullState" : True },
@@ -397,6 +399,25 @@ def test_to_dict(self, _mock_weaviate, monkeypatch):
397399 },
398400 }
399401
402+ @patch ("haystack_integrations.document_stores.weaviate.document_store.weaviate" )
403+ def test_to_dict_and_from_dict_preserves_grpc_settings (self , _mock_weaviate ):
404+ """`grpc_port`/`grpc_secure` configure the gRPC connection and must
405+ survive a to_dict/from_dict round-trip; otherwise a reloaded store
406+ silently falls back to the default gRPC port/security."""
407+ document_store = WeaviateDocumentStore (
408+ url = "http://localhost:8080" ,
409+ grpc_port = 50052 ,
410+ grpc_secure = True ,
411+ )
412+
413+ serialized = document_store .to_dict ()
414+ assert serialized ["init_parameters" ]["grpc_port" ] == 50052
415+ assert serialized ["init_parameters" ]["grpc_secure" ] is True
416+
417+ restored = WeaviateDocumentStore .from_dict (serialized )
418+ assert restored ._grpc_port == 50052
419+ assert restored ._grpc_secure is True
420+
400421 @patch ("haystack_integrations.document_stores.weaviate.document_store.weaviate" )
401422 def test_from_dict (self , _mock_weaviate , monkeypatch ):
402423 monkeypatch .setenv ("WEAVIATE_API_KEY" , "my_api_key" )
0 commit comments