feat(agent-runner): enforce 4.x host-owned execution

This commit is contained in:
huanghuoguoguo
2026-07-12 20:36:32 +08:00
parent e6384aae5d
commit 99d9c227f9
171 changed files with 6958 additions and 5385 deletions
+12 -11
View File
@@ -56,7 +56,7 @@ class TestVectorDBManagerInitialization:
# Run initialize synchronously for test
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
# Chroma should be instantiated
mock_chroma_class.assert_called_once_with(mock_app)
@@ -78,7 +78,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_chroma_class.assert_called_once_with(mock_app)
mock_app.logger.info.assert_called()
@@ -99,7 +99,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_qdrant_class.assert_called_once_with(mock_app)
@@ -119,7 +119,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_seekdb_class.assert_called_once_with(mock_app)
@@ -138,7 +138,8 @@ class TestVectorDBManagerInitialization:
mgr = VectorDBManager(mock_app)
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_valkey_class.assert_called_once_with(mock_app)
@@ -161,7 +162,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_milvus_class.assert_called_once_with(
mock_app, uri='http://localhost:19530', token='root:Milvus', db_name='langbot_db'
@@ -183,7 +184,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
# Should use default values
mock_milvus_class.assert_called_once_with(mock_app, uri='./data/milvus.db', token=None, db_name='default')
@@ -204,7 +205,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_pgvector_class.assert_called_once_with(
mock_app, connection_string='postgresql://user:pass@host:5432/langbot'
@@ -235,7 +236,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_pgvector_class.assert_called_once_with(
mock_app, host='db.example.com', port=5433, database='vectordb', user='admin', password='secret'
@@ -257,7 +258,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_pgvector_class.assert_called_once_with(
mock_app, host='localhost', port=5432, database='langbot', user='postgres', password='postgres'
@@ -279,7 +280,7 @@ class TestVectorDBManagerInitialization:
import asyncio
asyncio.get_event_loop().run_until_complete(mgr.initialize())
asyncio.run(mgr.initialize())
mock_chroma_class.assert_called_once_with(mock_app)
mock_app.logger.warning.assert_called()
@@ -357,10 +357,12 @@ class TestCredentialsBuild:
cred_calls.append(kwargs)
return ('CRED', kwargs)
monkeypatch.setattr(mod, 'GlideClient', _FakeClient)
monkeypatch.setattr(mod, 'ServerCredentials', _fake_credentials)
monkeypatch.setattr(mod, 'GlideClientConfiguration', lambda **kw: kw)
monkeypatch.setattr(mod, 'NodeAddress', lambda *a, **k: ('node', a, k))
# The optional glide import defines none of these names when the
# dependency is absent, which is the normal fast-test environment.
monkeypatch.setattr(mod, 'GlideClient', _FakeClient, raising=False)
monkeypatch.setattr(mod, 'ServerCredentials', _fake_credentials, raising=False)
monkeypatch.setattr(mod, 'GlideClientConfiguration', lambda **kw: kw, raising=False)
monkeypatch.setattr(mod, 'NodeAddress', lambda *a, **k: ('node', a, k), raising=False)
return backend, created, cred_calls, warnings
async def test_username_without_password_fails_closed(self, monkeypatch):
+1 -1
View File
@@ -115,7 +115,7 @@ class TestVectorDatabaseAbstractMethods:
# list_by_filter should return empty list and -1 for total
import asyncio
result = asyncio.get_event_loop().run_until_complete(db.list_by_filter('test_collection'))
result = asyncio.run(db.list_by_filter('test_collection'))
assert result == ([], -1)