Preserve uncertain-write evidence and safe transport diagnostics for v0.1.3 [skip ci]

This commit is contained in:
渡口浪人
2026-10-16 10:30:08 +08:00
parent 8a3c616b5f
commit d2f02d8054
9 changed files with 105 additions and 10 deletions
+23
View File
@@ -118,3 +118,26 @@ def test_rate_budget():
c.get_device()
assert e.value.code == "RATE_LIMITED"
assert s.request.call_count == 18
@pytest.mark.parametrize(
"exception,category",
[
(requests.ConnectTimeout, "connect_timeout"),
(requests.ReadTimeout, "read_timeout"),
(requests.exceptions.SSLError, "tls_error"),
(requests.ConnectionError, "connection_error"),
(requests.Timeout, "timeout"),
(requests.RequestException, "request_error"),
],
)
def test_transport_failure_records_safe_category_without_replay(exception, category):
s = session()
s.request.side_effect = exception("secret https://host/secret")
c = KokonnaClient("secret", True, s)
with pytest.raises(FlowError) as error:
c.display(1)
assert error.value.code == "WRITE_RESULT_UNKNOWN"
assert error.value.details == {"transport_error": category}
assert "secret" not in str(error.value.details)
assert s.request.call_count == 1