mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-04-26 21:05:49 +00:00
Merge origin/main; warn on partial proxy credentials; add only-password test
- Merged latest main (no conflicts) - Added warning log when only one of proxy_username/proxy_password is set - Added test_start_no_proxy_auth_when_only_password for coverage parity Made-with: Cursor
This commit is contained in:
parent
7506af7104
commit
69d748bf8f
@ -308,13 +308,20 @@ class DiscordChannel(BaseChannel):
|
|||||||
intents.value = self.config.intents
|
intents.value = self.config.intents
|
||||||
|
|
||||||
proxy_auth = None
|
proxy_auth = None
|
||||||
if self.config.proxy_username and self.config.proxy_password:
|
has_user = bool(self.config.proxy_username)
|
||||||
|
has_pass = bool(self.config.proxy_password)
|
||||||
|
if has_user and has_pass:
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
proxy_auth = aiohttp.BasicAuth(
|
proxy_auth = aiohttp.BasicAuth(
|
||||||
login=self.config.proxy_username,
|
login=self.config.proxy_username,
|
||||||
password=self.config.proxy_password,
|
password=self.config.proxy_password,
|
||||||
)
|
)
|
||||||
|
elif has_user != has_pass:
|
||||||
|
logger.warning(
|
||||||
|
"Discord proxy auth incomplete: both proxy_username and "
|
||||||
|
"proxy_password must be set; ignoring partial credentials",
|
||||||
|
)
|
||||||
|
|
||||||
self._client = DiscordBotClient(
|
self._client = DiscordBotClient(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@ -845,3 +845,25 @@ async def test_start_no_proxy_auth_when_only_username(monkeypatch) -> None:
|
|||||||
|
|
||||||
assert channel.is_running is False
|
assert channel.is_running is False
|
||||||
assert _FakeDiscordClient.instances[0].proxy_auth is None
|
assert _FakeDiscordClient.instances[0].proxy_auth is None
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_start_no_proxy_auth_when_only_password(monkeypatch) -> None:
|
||||||
|
_FakeDiscordClient.instances.clear()
|
||||||
|
channel = DiscordChannel(
|
||||||
|
DiscordConfig(
|
||||||
|
enabled=True,
|
||||||
|
token="token",
|
||||||
|
allow_from=["*"],
|
||||||
|
proxy="http://127.0.0.1:7890",
|
||||||
|
proxy_password="pass",
|
||||||
|
),
|
||||||
|
MessageBus(),
|
||||||
|
)
|
||||||
|
monkeypatch.setattr("nanobot.channels.discord.DiscordBotClient", _FakeDiscordClient)
|
||||||
|
|
||||||
|
await channel.start()
|
||||||
|
|
||||||
|
assert channel.is_running is False
|
||||||
|
assert _FakeDiscordClient.instances[0].proxy == "http://127.0.0.1:7890"
|
||||||
|
assert _FakeDiscordClient.instances[0].proxy_auth is None
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user