mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-16 08:14:32 +00:00
refactor: read settings directly instead of getattr with a second default
About 85 call sites read a setting as getattr(settings, "NAME", fallback), each carrying its own copy of the default. Every one of those names is a field with a default on the model, so the fallback could never apply to the real settings object; it only masked drift. Two had drifted: - OPENAI_PROMPT_CACHE_KEY defaults to True on the model but the reader fell back to False, and two test stubs relied on that. - SharePoint's MICROSOFT_AUTHORITY fallback to https://login.microsoftonline.com/<tenant> never fired, because the attribute always exists (as None), so MSAL got authority=None. The connector now derives the tenant authority when the setting is unset, as its test always assumed. Four places read EMBEDDINGS_KEY straight from os.environ, skipping the "None"/"" normalisation the model applies; they read the setting now. Test stubs that replaced a module's settings with a SimpleNamespace list every setting the code under test reads.
This commit is contained in:
1 parent
d70644743b
commit
f882ef49a7
46 files changed
+111
-113
No files matched your search
@@ -140,7 +140,7 @@ class ModelRegistry:
|
||||
from docsgpt.llm.providers import ALL_PROVIDERS
|
||||
|
||||
directories = [BUILTIN_MODELS_DIR]
|
||||
operator_dir = getattr(settings, "MODELS_CONFIG_DIR", None)
|
||||
operator_dir = settings.MODELS_CONFIG_DIR
|
||||
if operator_dir:
|
||||
op_path = Path(operator_dir)
|
||||
if not op_path.exists():
|
||||
|
||||
@@ -35,7 +35,8 @@ class ConnectorSettings(SettingsGroup):
|
||||
default="common", description="Azure AD tenant id, or 'common' for multi-tenant."
|
||||
)
|
||||
MICROSOFT_AUTHORITY: Optional[str] = Field(
|
||||
default=None, description='Authority URL override, e.g. "https://login.microsoftonline.com/{tenant_id}".'
|
||||
default=None,
|
||||
description="Authority URL override; unset derives https://login.microsoftonline.com/<MICROSOFT_TENANT_ID>.",
|
||||
)
|
||||
|
||||
# Confluence Cloud integration.
|
||||
|
||||
Reference in new issue
Block a user