feat: make SOCKS5 proxy configurable per adapter
Add `proxy` config option to server (IRC), teams, telegram, and mumble sections. IRC defaults to false (preserving current direct-connect behavior); all others default to true. The `derp.http` module now accepts `proxy=True/False` on urlopen, create_connection, open_connection, and build_opener -- when false, uses stdlib directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
"""Tests for IRC message parsing and formatting."""
|
||||
|
||||
from derp.irc import _parse_tags, _unescape_tag_value, format_msg, parse
|
||||
from derp.irc import (
|
||||
IRCConnection,
|
||||
_parse_tags,
|
||||
_unescape_tag_value,
|
||||
format_msg,
|
||||
parse,
|
||||
)
|
||||
|
||||
|
||||
class TestParse:
|
||||
@@ -142,3 +148,19 @@ class TestFormat:
|
||||
# No space in tail, not starting with colon, head exists -> no colon
|
||||
result = format_msg("MODE", "#ch", "+o", "nick")
|
||||
assert result == "MODE #ch +o nick"
|
||||
|
||||
|
||||
class TestIRCConnectionProxy:
|
||||
"""IRCConnection proxy flag tests."""
|
||||
|
||||
def test_proxy_default_false(self):
|
||||
conn = IRCConnection("irc.example.com", 6697)
|
||||
assert conn.proxy is False
|
||||
|
||||
def test_proxy_enabled(self):
|
||||
conn = IRCConnection("irc.example.com", 6697, proxy=True)
|
||||
assert conn.proxy is True
|
||||
|
||||
def test_proxy_disabled(self):
|
||||
conn = IRCConnection("irc.example.com", 6697, proxy=False)
|
||||
assert conn.proxy is False
|
||||
|
||||
Reference in New Issue
Block a user