test(webdav): pin encode-once contract + nit cleanups (#891 r3)

Round-3 review on PR #891 (no blockers):
- Add test_encode_dav_path_encodes_exactly_once pinning the documented
  decoded-input precondition ("already%20encoded.pdf" -> "already%2520...").
- format_exception_group: proper singular/plural ("1 sub-exception" vs
  "N sub-exceptions") instead of "(s)".
- oauth_sync: use `if doc_task is not None:` to match processor_task's guard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Chris Coutinho
2026-06-11 06:21:36 +02:00
co-authored by Claude Opus 4.8
parent 7b274cd8e2
commit 801bf108fa
4 changed files with 14 additions and 4 deletions
+2 -1
View File
@@ -21,7 +21,8 @@ def format_exception_group(exc: BaseException) -> str:
if not isinstance(exc, BaseExceptionGroup):
return repr(exc)
leaves = _flatten(exc)
return f"{len(leaves)} sub-exception(s): " + "; ".join(repr(e) for e in leaves)
noun = "sub-exception" if len(leaves) == 1 else "sub-exceptions"
return f"{len(leaves)} {noun}: " + "; ".join(repr(e) for e in leaves)
def _flatten(exc: BaseException) -> list[BaseException]:
+2 -2
View File
@@ -332,7 +332,7 @@ async def multi_user_processor_task(
break
except NotProvisionedError:
if doc_task:
if doc_task is not None:
logger.warning(
"[BasicAuth] User %s not provisioned, skipping %s_%s",
doc_task.user_id,
@@ -342,7 +342,7 @@ async def multi_user_processor_task(
continue
except Exception as e:
if doc_task:
if doc_task is not None:
logger.error(
"[BasicAuth] Processor %s error processing %s_%s: %s",
worker_id,