fix(core): preserve adapter command contracts

This commit is contained in:
2026-07-11 21:00:50 +02:00
parent dbbab6d005
commit a35efa16de
20 changed files with 163 additions and 143 deletions
+8 -5
View File
@@ -85,14 +85,17 @@ def test_postgres_sampling_delegates_to_paired_sampling_functions(monkeypatch):
)
or ["A", "B"],
)
distinct_calls = []
monkeypatch.setattr(
"tht.adapters.dwh.postgres.sampling.distinct_values",
lambda engine, schema, table, column: expected,
lambda engine, schema, table, column, *, max_values: distinct_calls.append(max_values)
or expected,
)
assert adapter.sample_column("sales", "region", limit=2) == ["A", "B"]
assert calls == [(adapter._engine, "dw", "sales", "region", 2)]
assert adapter.distinct_values("sales", "region") is expected
assert adapter.distinct_values("sales", "region", limit=17) is expected
assert distinct_calls == [17]
def test_rest_sampling_delegates_and_translates_transport_errors(monkeypatch):
@@ -104,10 +107,10 @@ def test_rest_sampling_delegates_and_translates_transport_errors(monkeypatch):
)
monkeypatch.setattr(
"tht.adapters.dwh.thoth_rest.sampling.distinct_values_rest",
lambda client, schema, table, column: expected,
lambda client, schema, table, column, *, max_values: expected,
)
assert adapter.sample_column("sales", "region", limit=2) == ["A", "B"]
assert adapter.distinct_values("sales", "region") is expected
assert adapter.distinct_values("sales", "region", limit=17) is expected
def fail(*args, **kwargs):
raise RestError("transport failed")
@@ -117,7 +120,7 @@ def test_rest_sampling_delegates_and_translates_transport_errors(monkeypatch):
with pytest.raises(ExecutionError, match="transport failed"):
adapter.sample_column("sales", "region", limit=2)
with pytest.raises(ExecutionError, match="transport failed"):
adapter.distinct_values("sales", "region")
adapter.distinct_values("sales", "region", limit=17)
def test_rest_distinct_values_reports_transport_truncation():