type: 收窄测试与响应模型类型
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from types import SimpleNamespace
|
||||
from unittest.mock import Mock
|
||||
from typing import Any, cast
|
||||
|
||||
from core.douyu.login import DouyuLogin
|
||||
from core.douyu.login_api_wgapi import WgapiLoginAPI
|
||||
@@ -9,13 +10,14 @@ class TestMobileBindSkip:
|
||||
def setup_method(self):
|
||||
self.login = DouyuLogin.__new__(DouyuLogin)
|
||||
self.login.api = WgapiLoginAPI()
|
||||
self.login.account = SimpleNamespace(
|
||||
username="test-user", password="test-password"
|
||||
self.login.account = cast(
|
||||
Any, SimpleNamespace(username="test-user", password="test-password")
|
||||
)
|
||||
self.login._request_json = Mock()
|
||||
self.request_json = Mock()
|
||||
self.login.__dict__["_request_json"] = self.request_json
|
||||
|
||||
def test_second_login_skips_mobile_bind_with_unique_key(self):
|
||||
self.login._request_json.side_effect = [
|
||||
self.request_json.side_effect = [
|
||||
{
|
||||
"error": 130014,
|
||||
"msg": "需要进行手机号绑定",
|
||||
@@ -41,8 +43,8 @@ class TestMobileBindSkip:
|
||||
assert (
|
||||
login_url == "https://www.douyu.com/api/passport/login?code=callback-code"
|
||||
)
|
||||
assert self.login._request_json.call_count == 2
|
||||
skip_call = self.login._request_json.call_args_list[1]
|
||||
assert self.request_json.call_count == 2
|
||||
skip_call = self.request_json.call_args_list[1]
|
||||
assert skip_call.args[:3] == (
|
||||
"post",
|
||||
"https://passport.douyu.com/wgapi/member/passport/login",
|
||||
@@ -55,7 +57,7 @@ class TestMobileBindSkip:
|
||||
}
|
||||
|
||||
def test_second_login_preserves_remote_email_flow_without_unique_key(self):
|
||||
self.login._request_json.return_value = {
|
||||
self.request_json.return_value = {
|
||||
"error": 130014,
|
||||
"data": {"remoteLogin": {"code": "remote-code"}},
|
||||
}
|
||||
@@ -69,4 +71,4 @@ class TestMobileBindSkip:
|
||||
)
|
||||
|
||||
assert (next_step, remote_code) == ("remote_email", "remote-code")
|
||||
assert self.login._request_json.call_count == 1
|
||||
assert self.request_json.call_count == 1
|
||||
|
||||
Reference in New Issue
Block a user