mirror of
https://github.com/zylon-ai/private-gpt.git
synced 2025-12-22 07:40:12 +01:00
fix: Remove global state (#1216)
* Remove all global settings state * chore: remove autogenerated class * chore: cleanup * chore: merge conflicts
This commit is contained in:
parent
f394ca61bb
commit
022bd718e3
24 changed files with 286 additions and 190 deletions
9
tests/fixtures/mock_injector.py
vendored
9
tests/fixtures/mock_injector.py
vendored
|
|
@ -1,10 +1,13 @@
|
|||
from collections.abc import Callable
|
||||
from typing import Any
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from injector import Provider, ScopeDecorator, singleton
|
||||
|
||||
from private_gpt.di import create_application_injector
|
||||
from private_gpt.settings.settings import Settings, unsafe_settings
|
||||
from private_gpt.settings.settings_loader import merge_settings
|
||||
from private_gpt.utils.typing import T
|
||||
|
||||
|
||||
|
|
@ -24,6 +27,12 @@ class MockInjector:
|
|||
self.test_injector.binder.bind(interface, to=mock, scope=scope)
|
||||
return mock # type: ignore
|
||||
|
||||
def bind_settings(self, settings: dict[str, Any]) -> Settings:
|
||||
merged = merge_settings([unsafe_settings, settings])
|
||||
new_settings = Settings(**merged)
|
||||
self.test_injector.binder.bind(Settings, new_settings)
|
||||
return new_settings
|
||||
|
||||
def get(self, interface: type[T]) -> T:
|
||||
return self.test_injector.get(interface)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue