75 lines
3.0 KiB
Python
75 lines
3.0 KiB
Python
import unittest
|
|
|
|
from core.device_cookie import apply_device_profile_to_cookie, cookie_to_string
|
|
from core.device_id import is_valid_oaid, oaid_from_seed_material
|
|
from core.device_profile import DeviceProfileGenerator
|
|
|
|
|
|
class DeviceCookieTests(unittest.TestCase):
|
|
def test_apply_device_profile_preserves_auth_and_overlays_device_fields(self):
|
|
profile = DeviceProfileGenerator(seed=20260711).new_profile()
|
|
profile.apply_cloud_identity(
|
|
"ANDROID_69646c9107f45c63",
|
|
2,
|
|
"DFPB39C1B79D15E65AA00E29C724073B1578784BDC532027CF94846A0C145787",
|
|
)
|
|
cookie = {
|
|
"userId": "1579452490",
|
|
"kuaishou.api_st": "API_ST",
|
|
"token": "TOKEN",
|
|
"did": "ANDROID_oldoldoldold",
|
|
"oDid": "ANDROID_oldoldoldold",
|
|
"rdid": "ANDROID_oldoldoldold",
|
|
"egid": "OLD_EGID",
|
|
}
|
|
|
|
result = apply_device_profile_to_cookie(cookie, profile)
|
|
|
|
self.assertEqual(result["userId"], "1579452490")
|
|
self.assertEqual(result["kuaishou.api_st"], "API_ST")
|
|
self.assertEqual(result["token"], "TOKEN")
|
|
self.assertEqual(result["did"], profile.did)
|
|
self.assertEqual(result["oDid"], profile.o_did)
|
|
self.assertEqual(result["rdid"], profile.rdid)
|
|
self.assertEqual(result["egid"], profile.egid)
|
|
self.assertEqual(result["oaid"], profile.runtime_hints.oaid)
|
|
self.assertEqual(result["cdid_tag"], "2")
|
|
self.assertEqual(result["appver"], profile.app_version)
|
|
self.assertEqual(result["sys"], f"ANDROID_{profile.android_release}")
|
|
self.assertIn(profile.model, result["mod"])
|
|
self.assertEqual(result["did_gt"], profile.runtime_hints.did_gt or str(profile.install_time_ms))
|
|
self.assertEqual(result["boardPlatform"], profile.board_platform)
|
|
self.assertEqual(result["socName"], profile.soc_name)
|
|
self.assertEqual(result["max_memory"], str(profile.max_memory))
|
|
self.assertEqual(result["deviceBit"], profile.device_bit)
|
|
self.assertEqual(result["sw"], str(profile.screen_width))
|
|
self.assertEqual(result["sh"], str(profile.screen_height))
|
|
self.assertEqual(result["totalMemory"], str(profile.total_memory_mb))
|
|
|
|
def test_device_profile_oaid_is_derived_from_stable_seed_material(self):
|
|
profile = DeviceProfileGenerator(seed=20260711).new_profile()
|
|
|
|
self.assertEqual(
|
|
profile.runtime_hints.oaid,
|
|
oaid_from_seed_material(
|
|
[
|
|
profile.android_id,
|
|
profile.local_did,
|
|
profile.rdid,
|
|
profile.g_rdi2,
|
|
profile.sid,
|
|
profile.egid,
|
|
]
|
|
),
|
|
)
|
|
self.assertTrue(is_valid_oaid(profile.runtime_hints.oaid))
|
|
|
|
def test_cookie_to_string_keeps_inserted_order(self):
|
|
text = cookie_to_string({"a": "1", "b": "2"})
|
|
|
|
self.assertEqual(text, "a=1; b=2")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|