feat(logging): add token truncation helper
This commit is contained in:
11
src/grist_mcp/logging.py
Normal file
11
src/grist_mcp/logging.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
"""Logging configuration and utilities."""
|
||||||
|
|
||||||
|
|
||||||
|
def truncate_token(token: str) -> str:
|
||||||
|
"""Truncate token to show first 3 and last 3 chars.
|
||||||
|
|
||||||
|
Tokens 8 chars or shorter show *** for security.
|
||||||
|
"""
|
||||||
|
if len(token) <= 8:
|
||||||
|
return "***"
|
||||||
|
return f"{token[:3]}...{token[-3:]}"
|
||||||
24
tests/unit/test_logging.py
Normal file
24
tests/unit/test_logging.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
"""Unit tests for logging module."""
|
||||||
|
|
||||||
|
from grist_mcp.logging import truncate_token
|
||||||
|
|
||||||
|
|
||||||
|
class TestTruncateToken:
|
||||||
|
def test_normal_token_shows_prefix_suffix(self):
|
||||||
|
token = "abcdefghijklmnop"
|
||||||
|
assert truncate_token(token) == "abc...nop"
|
||||||
|
|
||||||
|
def test_short_token_shows_asterisks(self):
|
||||||
|
token = "abcdefgh" # 8 chars
|
||||||
|
assert truncate_token(token) == "***"
|
||||||
|
|
||||||
|
def test_very_short_token_shows_asterisks(self):
|
||||||
|
token = "abc"
|
||||||
|
assert truncate_token(token) == "***"
|
||||||
|
|
||||||
|
def test_empty_token_shows_asterisks(self):
|
||||||
|
assert truncate_token("") == "***"
|
||||||
|
|
||||||
|
def test_boundary_token_shows_prefix_suffix(self):
|
||||||
|
token = "abcdefghi" # 9 chars - first to show truncation
|
||||||
|
assert truncate_token(token) == "abc...ghi"
|
||||||
Reference in New Issue
Block a user