mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-12 12:05:07 +00:00
fix(api): keep error URLs readable and mask host paths in dashboard logs
This commit is contained in:
@@ -16,7 +16,14 @@ from unshackle.core.utilities import (
|
||||
log_event,
|
||||
timed_operation,
|
||||
)
|
||||
from unshackle.core.utils.redact import redact_all, redact_path, redact_text, redact_url, safe_display_url
|
||||
from unshackle.core.utils.redact import (
|
||||
redact_all,
|
||||
redact_path,
|
||||
redact_secrets,
|
||||
redact_text,
|
||||
redact_url,
|
||||
safe_display_url,
|
||||
)
|
||||
from unshackle.core.utils.subprocess import log_tool_run
|
||||
|
||||
pytestmark = pytest.mark.unit
|
||||
@@ -266,6 +273,15 @@ def test_redact_all_composes_secrets_urls_and_paths():
|
||||
assert "<unshackle>/temp" in out
|
||||
|
||||
|
||||
def test_redact_secrets_keeps_the_url_but_drops_credentials_and_paths():
|
||||
root = str(Path(__import__("unshackle.core.utils.redact", fromlist=["x"]).__file__).resolve().parents[3])
|
||||
out = redact_secrets(f"404 Not Found: https://u:p@cdn.x/a/b.mpd?token=t (cwd {root}/temp)")
|
||||
assert "cdn.x/a/b.mpd" in out
|
||||
assert "u:p@" not in out
|
||||
assert "token=t" not in out
|
||||
assert "<unshackle>/temp" in out
|
||||
|
||||
|
||||
def test_logged_output_dir_is_path_redacted(debug_log: Path):
|
||||
root = str(Path(__import__("unshackle.core.utils.redact", fromlist=["x"]).__file__).resolve().parents[3])
|
||||
log_event("downloader_start", context={"output_dir": f"{root}/temp", "filename": "Audio_3eeab4ed.mp4"})
|
||||
|
||||
Reference in New Issue
Block a user