Files
haproxy-mcp/haproxy_mcp/exceptions.py
kaffa 6bcfee519c refactor: Improve code quality, error handling, and test coverage
- 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>
2026-02-03 12:50:00 +09:00

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