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