|
44 | 44 | patch('nexent.storage.minio_config.MinIOStorageConfig.validate', lambda self: None).start() |
45 | 45 | patch('backend.database.client.MinioClient', return_value=minio_client_mock).start() |
46 | 46 |
|
| 47 | +# Create stub vector database modules to satisfy imports |
| 48 | +vector_db_module = types.ModuleType("nexent.vector_database") |
| 49 | +vector_db_module.__path__ = [] # Mark as package |
| 50 | +vector_db_base_module = types.ModuleType("nexent.vector_database.base") |
| 51 | + |
| 52 | +class MockVectorDatabaseCore: |
| 53 | + def __init__(self, *args, **kwargs): |
| 54 | + pass |
| 55 | + |
| 56 | +vector_db_base_module.VectorDatabaseCore = MockVectorDatabaseCore |
| 57 | + |
| 58 | +vector_db_es_module = types.ModuleType("nexent.vector_database.elasticsearch_core") |
| 59 | + |
| 60 | +class MockElasticSearchCore: |
| 61 | + def __init__(self, *args, **kwargs): |
| 62 | + pass |
| 63 | + |
| 64 | +vector_db_es_module.ElasticSearchCore = MockElasticSearchCore |
| 65 | + |
| 66 | +sys.modules['nexent.vector_database'] = vector_db_module |
| 67 | +sys.modules['nexent.vector_database.base'] = vector_db_base_module |
| 68 | +sys.modules['nexent.vector_database.elasticsearch_core'] = vector_db_es_module |
| 69 | +setattr(vector_db_module, "base", vector_db_base_module) |
| 70 | +setattr(vector_db_module, "elasticsearch_core", vector_db_es_module) |
| 71 | + |
47 | 72 | # Pre-inject a stubbed base_app to avoid import side effects |
48 | 73 | backend_pkg = types.ModuleType("backend") |
49 | 74 | apps_pkg = types.ModuleType("backend.apps") |
|
0 commit comments