- Add file_lock context manager to eliminate duplicate locking patterns - Add ValidationError, ConfigurationError, CertificateError exceptions - Improve rollback logic in haproxy_add_servers (track successful ops only) - Decompose haproxy_add_domain into smaller helper functions - Consolidate certificate constants (CERTS_DIR, ACME_HOME) to config.py - Enhance docstrings for internal functions and magic numbers - Add pytest framework with 48 new tests (269 -> 317 total) - Increase test coverage from 76% to 86% - servers.py: 58% -> 82% - certificates.py: 67% -> 86% - configuration.py: 69% -> 94% Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 lines
492 B
Python
27 lines
492 B
Python
"""Exception classes for HAProxy MCP Server."""
|
|
|
|
|
|
class HaproxyError(Exception):
|
|
"""HAProxy operation error."""
|
|
pass
|
|
|
|
|
|
class NoAvailablePoolError(HaproxyError):
|
|
"""All pool backends are in use."""
|
|
pass
|
|
|
|
|
|
class ValidationError(HaproxyError):
|
|
"""Input validation error."""
|
|
pass
|
|
|
|
|
|
class ConfigurationError(HaproxyError):
|
|
"""Configuration file or state error."""
|
|
pass
|
|
|
|
|
|
class CertificateError(HaproxyError):
|
|
"""SSL/TLS certificate operation error."""
|
|
pass
|