- Use sshtunnel.open_tunnel() instead of SSHTunnelForwarder directly
to properly handle debug_level parameter
- Fix keepalive parameter name (set_keepalive, not keepalive)
- Fix test assertions that were inside pytest.raises blocks and never
executed - now check error_type instead of string messages
- Update SSH tunnel test mocks to patch open_tunnel
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>