mirror of
https://github.com/zc-zhangchen/any-auto-register.git
synced 2026-05-08 08:14:04 +08:00
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import unittest
|
|
from unittest import mock
|
|
|
|
from core.luckmail.client import LuckMailClient
|
|
from core.luckmail.http_client import LuckMailHttpClient
|
|
|
|
|
|
class LuckMailProxyChainTests(unittest.TestCase):
|
|
@mock.patch("core.luckmail.client.LuckMailHttpClient")
|
|
def test_luckmail_client_forwards_proxy_to_http_client(self, mock_http_cls):
|
|
LuckMailClient(
|
|
base_url="https://example.com",
|
|
api_key="k",
|
|
proxy_url="socks5://127.0.0.1:7890",
|
|
)
|
|
mock_http_cls.assert_called_once()
|
|
self.assertEqual(
|
|
mock_http_cls.call_args.kwargs.get("proxy_url"),
|
|
"socks5://127.0.0.1:7890",
|
|
)
|
|
|
|
@mock.patch("core.luckmail.http_client.curl_requests.Session")
|
|
def test_http_client_sync_session_uses_normalized_proxy(self, mock_session_cls):
|
|
session_obj = mock.Mock()
|
|
mock_session_cls.return_value = session_obj
|
|
|
|
client = LuckMailHttpClient(
|
|
base_url="https://example.com",
|
|
api_key="k",
|
|
proxy_url="socks5://127.0.0.1:7890",
|
|
)
|
|
_ = client._get_sync_session()
|
|
|
|
mock_session_cls.assert_called_once()
|
|
self.assertEqual(
|
|
mock_session_cls.call_args.kwargs.get("proxy"),
|
|
"socks5h://127.0.0.1:7890",
|
|
)
|
|
self.assertEqual(
|
|
session_obj.proxies,
|
|
{
|
|
"http": "socks5h://127.0.0.1:7890",
|
|
"https": "socks5h://127.0.0.1:7890",
|
|
},
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|