forked from Boris-code/feapder
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_normal_user_pool.py
More file actions
56 lines (43 loc) · 1.39 KB
/
Copy pathtest_normal_user_pool.py
File metadata and controls
56 lines (43 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# -*- coding: utf-8 -*-
"""
Created on 2021/9/13 2:33 下午
---------
@summary:
---------
@author: Boris
@email: [email protected]
"""
import unittest
from feapder.network.user_pool import NormalUser
from feapder.network.user_pool import NormalUserPool
class TestUserPool(unittest.TestCase):
def setUp(self) -> None:
class CustomNormalUserPool(NormalUserPool):
def login(self, user: NormalUser) -> NormalUser:
# 此处为假数据,正常需通过登录网站获取cookie
username = user.username
password = user.password
# 登录获取cookie
cookie = "xxx"
user.cookies = cookie
return user
self.user_pool = CustomNormalUserPool(
"test:user_pool",
table_userbase="test_userbase",
login_retry_times=0,
keep_alive=True,
)
def test_get_user(self):
user = self.user_pool.get_user()
print("取到user:", user)
print("cookie:", user.cookies)
print("user_agent:", user.user_agent)
print("proxies:", user.proxies)
def test_del_user(self):
self.user_pool.del_user(1)
def test_tag_user_locked(self):
self.user_pool.tag_user_locked(2)
def test_keep_alive(self):
self.user_pool.run()
if __name__ == "__main__":
unittest.main()