Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions changelogs/v0.6.3/briancastelino_2026-07-23.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Prefer configured registry volume over legacy session defaults

Context: Local Registry initialization kept selecting the legacy `OntoBricksRegistry` session default even though `REGISTRY_VOLUME=ontology` was loaded correctly. Registry configuration now treats environment values as authoritative before falling back to legacy per-session Unity Catalog values when no bound Volume or Lakebase registry row is selected.

Changes:

1. src/back/objects/registry/RegistryService.py
Prefer configured catalog, schema, and Volume values over legacy session fallbacks.
2. tests/units/registry/test_registry.py
Add regression coverage for environment configuration overriding the legacy session Volume and preserve raw-session fallback coverage.

Modified files:
- src/back/objects/registry/RegistryService.py
- tests/units/registry/test_registry.py

Tests: `python -m pytest tests/units/registry/test_registry.py -q --no-cov` → 55 passed in 3.36s. `python -m pytest -q -m "not scenario" --no-cov` → 3243 passed, 275 skipped, 5 deselected, 5 unrelated pre-existing GraphQL route-contract failures in 130.33s.
6 changes: 3 additions & 3 deletions src/back/objects/registry/RegistryService.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,9 @@ def from_domain(
)

return cls(
catalog=reg.get("catalog") or settings.registry_catalog,
schema=reg.get("schema") or settings.registry_schema,
volume=reg.get("volume") or settings.registry_volume or _DEFAULT_VOLUME,
catalog=settings.registry_catalog or reg.get("catalog"),
schema=settings.registry_schema or reg.get("schema"),
volume=settings.registry_volume or reg.get("volume") or _DEFAULT_VOLUME,
lakebase_schema=lb_schema,
lakebase_database=lb_database,
)
Expand Down
29 changes: 27 additions & 2 deletions tests/units/registry/test_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,35 @@ def test_uses_session_registry(self, monkeypatch):
domain = _make_domain(
registry={"catalog": "s_cat", "schema": "s_sch", "volume": "s_vol"}
)
settings = _make_settings()
settings = _make_settings(
registry_catalog="", registry_schema="", registry_volume=""
)
c = RegistryCfg.from_domain(domain, settings)
assert c.catalog == "s_cat"
assert c.schema == "s_sch"
assert c.volume == "s_vol"

def test_settings_override_legacy_session_registry(self, monkeypatch):
self._patch_no_lakebase_row(monkeypatch)
domain = _make_domain(
registry={
"catalog": "",
"schema": "",
"volume": "OntoBricksRegistry",
}
)
settings = _make_settings(
registry_catalog="wl_internal",
registry_schema="ontobricks_registry",
registry_volume="ontology",
)
c = RegistryCfg.from_domain(
domain, settings, prefer_volume_binding=True
)
assert c.catalog == "wl_internal"
assert c.schema == "ontobricks_registry"
assert c.volume == "ontology"

def test_falls_back_to_settings(self, monkeypatch):
self._patch_no_lakebase_row(monkeypatch)
domain = _make_domain(registry={})
Expand Down Expand Up @@ -708,7 +731,9 @@ def test_factory(self, mock_creds, monkeypatch):
)
mock_creds.return_value = ("https://host", "tok")
domain = _make_domain(registry={"catalog": "c", "schema": "s", "volume": "v"})
settings = _make_settings()
settings = _make_settings(
registry_catalog="", registry_schema="", registry_volume=""
)

with patch.object(
RegistryService, "_build_store", return_value=MagicMock()
Expand Down