Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
"""ACP adapter stderr logging must go through RedactingFormatter.
|
||||
|
||||
``_setup_logging`` clears root handlers and installs its own stderr handler;
|
||||
before the fix it used a plain ``logging.Formatter`` — zero redaction on a
|
||||
surface that logs request/response internals. See issue #77484.
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from acp_adapter.entry import _setup_logging
|
||||
|
||||
SECRET = "sk-proj-AbCdEf1234567890SecretValue999"
|
||||
|
||||
|
||||
def test_acp_stderr_handler_redacts_secrets():
|
||||
saved_handlers = logging.getLogger().handlers[:]
|
||||
saved_level = logging.getLogger().level
|
||||
try:
|
||||
_setup_logging()
|
||||
root = logging.getLogger()
|
||||
assert root.handlers, "ACP logging setup installed no handler"
|
||||
handler = root.handlers[0]
|
||||
assert isinstance(handler, logging.StreamHandler)
|
||||
record = logging.LogRecord(
|
||||
name="acp.test",
|
||||
level=logging.ERROR,
|
||||
pathname=__file__,
|
||||
lineno=1,
|
||||
msg="request failed: OPENROUTER_API_KEY=%s",
|
||||
args=(SECRET,),
|
||||
exc_info=None,
|
||||
)
|
||||
out = handler.format(record)
|
||||
assert SECRET not in out
|
||||
assert "OPENROUTER_API_KEY=" in out
|
||||
finally:
|
||||
root = logging.getLogger()
|
||||
root.handlers.clear()
|
||||
for h in saved_handlers:
|
||||
root.addHandler(h)
|
||||
root.setLevel(saved_level)
|
||||
Reference in New Issue
Block a user