tplinkrouterc6u 5.9.1__py3-none-any.whl → 5.9.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- test/test_client_ex.py +82 -0
- tplinkrouterc6u/client/ex.py +3 -3
- tplinkrouterc6u/client/mr.py +4 -2
- {tplinkrouterc6u-5.9.1.dist-info → tplinkrouterc6u-5.9.2.dist-info}/METADATA +1 -1
- {tplinkrouterc6u-5.9.1.dist-info → tplinkrouterc6u-5.9.2.dist-info}/RECORD +8 -8
- {tplinkrouterc6u-5.9.1.dist-info → tplinkrouterc6u-5.9.2.dist-info}/WHEEL +0 -0
- {tplinkrouterc6u-5.9.1.dist-info → tplinkrouterc6u-5.9.2.dist-info}/licenses/LICENSE +0 -0
- {tplinkrouterc6u-5.9.1.dist-info → tplinkrouterc6u-5.9.2.dist-info}/top_level.txt +0 -0
test/test_client_ex.py
CHANGED
|
@@ -122,6 +122,88 @@ class TestTPLinkEXClient(TestCase):
|
|
|
122
122
|
self.assertEqual(status.devices[1].packets_sent, None) # TODO
|
|
123
123
|
self.assertEqual(status.devices[1].packets_received, None) # TODO
|
|
124
124
|
|
|
125
|
+
def test_get_status(self) -> None:
|
|
126
|
+
|
|
127
|
+
DEV2_ADT_LAN = ('{"data":[{"MACAddress":"a0:28:84:de:dd:5c","IPAddress":"192.168.4.1","stack":"1,0,0,0,0,0"}],'
|
|
128
|
+
'"operation":"gl","oid":"DEV2_ADT_LAN","success":true}')
|
|
129
|
+
DEV2_ADT_WAN = ('{"data":[{"enable":"1","stack":"1,0,0,0,0,0"}],"operation":"gl",'
|
|
130
|
+
'"oid":"DEV2_ADT_WAN","success":true}')
|
|
131
|
+
DEV2_ADT_WIFI_COMMON = ('{"data":[{"primaryEnable":"1","guestEnable":"0","stack":"1,0,0,0,0,0"},'
|
|
132
|
+
'{"primaryEnable":"0","guestEnable":"1","stack":"2,0,0,0,0,0"}],"operation":"gl",'
|
|
133
|
+
'"oid":"DEV2_ADT_WIFI_COMMON","success":true}')
|
|
134
|
+
DEV2_HOST_ENTRY = ('{"data":[{"active":"1","X_TP_LanConnType":"0","physAddress":"66-E2-02-BD-B5-1B",'
|
|
135
|
+
'"IPAddress":"192.168.30.10","hostName":"host1","stack":"1,0,0,0,0,0"},'
|
|
136
|
+
'{"active":"1","X_TP_LanConnType":"1","physAddress":"F4-A3-86-2D-41-B5",'
|
|
137
|
+
'"IPAddress":"192.168.30.11","hostName":"host2","stack":"2,0,0,0,0,0"}],"operation":"gl",'
|
|
138
|
+
'"oid":"DEV2_HOST_ENTRY","success":true}')
|
|
139
|
+
DEV2_MEM_STATUS = ('{"data":{"total":"192780","free":"78400","stack":"0,0,0,0,0,0"},"operation":"go",'
|
|
140
|
+
'"oid":"DEV2_MEM_STATUS","success":true}')
|
|
141
|
+
DEV2_PROC_STATUS = ('{"data":{"CPUUsage":"47","stack":"0,0,0,0,0,0"},"operation":"go",'
|
|
142
|
+
'"oid":"DEV2_PROC_STATUS","success":true}')
|
|
143
|
+
|
|
144
|
+
class TPLinkEXClientTest(TPLinkEXClient):
|
|
145
|
+
self._token = True
|
|
146
|
+
|
|
147
|
+
def _request(self, url, method='POST', data_str=None, encrypt=False):
|
|
148
|
+
if 'DEV2_ADT_LAN' in data_str:
|
|
149
|
+
return 200, DEV2_ADT_LAN
|
|
150
|
+
elif 'DEV2_ADT_WAN' in data_str:
|
|
151
|
+
return 200, DEV2_ADT_WAN
|
|
152
|
+
elif 'DEV2_ADT_WIFI_COMMON' in data_str:
|
|
153
|
+
return 200, DEV2_ADT_WIFI_COMMON
|
|
154
|
+
elif 'DEV2_HOST_ENTRY' in data_str:
|
|
155
|
+
return 200, DEV2_HOST_ENTRY
|
|
156
|
+
elif 'DEV2_MEM_STATUS' in data_str:
|
|
157
|
+
return 200, DEV2_MEM_STATUS
|
|
158
|
+
elif 'DEV2_PROC_STATUS' in data_str:
|
|
159
|
+
return 200, DEV2_PROC_STATUS
|
|
160
|
+
raise ClientException()
|
|
161
|
+
|
|
162
|
+
client = TPLinkEXClientTest('', '')
|
|
163
|
+
status = client.get_status()
|
|
164
|
+
|
|
165
|
+
self.assertIsInstance(status, Status)
|
|
166
|
+
self.assertEqual(status.wan_macaddr, None)
|
|
167
|
+
self.assertEqual(status.lan_macaddr, 'A0-28-84-DE-DD-5C')
|
|
168
|
+
self.assertIsInstance(status.lan_macaddress, EUI48)
|
|
169
|
+
self.assertEqual(status.wan_ipv4_addr, None)
|
|
170
|
+
self.assertEqual(status.lan_ipv4_addr, '192.168.4.1')
|
|
171
|
+
self.assertEqual(status.wan_ipv4_gateway, None)
|
|
172
|
+
self.assertEqual(status.wired_total, 1)
|
|
173
|
+
self.assertEqual(status.wifi_clients_total, 1)
|
|
174
|
+
self.assertEqual(status.guest_clients_total, 0)
|
|
175
|
+
self.assertEqual(status.clients_total, 2)
|
|
176
|
+
self.assertEqual(status.guest_2g_enable, False)
|
|
177
|
+
self.assertEqual(status.guest_5g_enable, True)
|
|
178
|
+
self.assertEqual(status.iot_2g_enable, None)
|
|
179
|
+
self.assertEqual(status.iot_5g_enable, None)
|
|
180
|
+
self.assertEqual(status.wifi_2g_enable, True)
|
|
181
|
+
self.assertEqual(status.wifi_5g_enable, False)
|
|
182
|
+
self.assertEqual(status.wan_ipv4_uptime, None)
|
|
183
|
+
self.assertGreaterEqual(status.mem_usage, 0)
|
|
184
|
+
self.assertLessEqual(status.mem_usage, 1)
|
|
185
|
+
self.assertGreaterEqual(status.cpu_usage, 0)
|
|
186
|
+
self.assertLessEqual(status.cpu_usage, 1)
|
|
187
|
+
self.assertEqual(len(status.devices), 2)
|
|
188
|
+
self.assertIsInstance(status.devices[0], Device)
|
|
189
|
+
self.assertEqual(status.devices[0].type, Connection.WIRED)
|
|
190
|
+
self.assertEqual(status.devices[0].macaddr, '66-E2-02-BD-B5-1B')
|
|
191
|
+
self.assertIsInstance(status.devices[0].macaddress, EUI48)
|
|
192
|
+
self.assertEqual(status.devices[0].ipaddr, '192.168.30.10')
|
|
193
|
+
self.assertIsInstance(status.devices[0].ipaddress, IPv4Address)
|
|
194
|
+
self.assertEqual(status.devices[0].hostname, 'host1')
|
|
195
|
+
self.assertEqual(status.devices[0].packets_sent, None)
|
|
196
|
+
self.assertEqual(status.devices[0].packets_received, None)
|
|
197
|
+
self.assertIsInstance(status.devices[1], Device)
|
|
198
|
+
self.assertEqual(status.devices[1].type, Connection.HOST_2G)
|
|
199
|
+
self.assertEqual(status.devices[1].macaddr, 'F4-A3-86-2D-41-B5')
|
|
200
|
+
self.assertIsInstance(status.devices[1].macaddress, EUI48)
|
|
201
|
+
self.assertEqual(status.devices[1].ipaddr, '192.168.30.11')
|
|
202
|
+
self.assertIsInstance(status.devices[1].ipaddress, IPv4Address)
|
|
203
|
+
self.assertEqual(status.devices[1].hostname, 'host2')
|
|
204
|
+
self.assertEqual(status.devices[1].packets_sent, None) # TODO
|
|
205
|
+
self.assertEqual(status.devices[1].packets_received, None) # TODO
|
|
206
|
+
|
|
125
207
|
def test_get_ipv4_reservations(self) -> None:
|
|
126
208
|
|
|
127
209
|
response = ('{"data":[{"enable":"1","chaddr":"bf:75:44:4c:dc:9e","yiaddr":"192.168.8.21",'
|
tplinkrouterc6u/client/ex.py
CHANGED
|
@@ -109,9 +109,9 @@ class TPLinkEXClient(TPLinkMRClientBase):
|
|
|
109
109
|
for item in values[1]:
|
|
110
110
|
if int(item['enable']) == 0 and values[1].__class__ == list:
|
|
111
111
|
continue
|
|
112
|
-
status._wan_macaddr = EUI48(item['MACAddr']) if item
|
|
113
|
-
status._wan_ipv4_addr = IPv4Address(item['connIPv4Address'])
|
|
114
|
-
status._wan_ipv4_gateway = IPv4Address(item['connIPv4Gateway'])
|
|
112
|
+
status._wan_macaddr = EUI48(item['MACAddr']) if item.get('MACAddr') else None
|
|
113
|
+
status._wan_ipv4_addr = IPv4Address(item['connIPv4Address']) if item.get('connIPv4Address') else None
|
|
114
|
+
status._wan_ipv4_gateway = IPv4Address(item['connIPv4Gateway']) if item.get('connIPv4Address') else None
|
|
115
115
|
|
|
116
116
|
if values[2].__class__ != list:
|
|
117
117
|
status.wifi_2g_enable = bool(int(values[2]['primaryEnable']))
|
tplinkrouterc6u/client/mr.py
CHANGED
|
@@ -550,10 +550,12 @@ class TPLinkMRClientBase(AbstractRouter):
|
|
|
550
550
|
raise Exception('Unsupported method ' + str(method))
|
|
551
551
|
|
|
552
552
|
# sometimes we get 500 here, not sure why... just retry the request
|
|
553
|
-
if r.status_code
|
|
553
|
+
if (r.status_code not in [500, 406]
|
|
554
|
+
and '<title>500 Internal Server Error</title>' not in r.text
|
|
555
|
+
and '<title>406 Not Acceptable</title>' not in r.text):
|
|
554
556
|
break
|
|
555
557
|
|
|
556
|
-
sleep(0.
|
|
558
|
+
sleep(0.1)
|
|
557
559
|
retry += 1
|
|
558
560
|
|
|
559
561
|
# decrypt the response, if needed
|
|
@@ -3,7 +3,7 @@ test/test_client_c1200.py,sha256=Sl-85JGqINNg-ckBZCIVqY0CC-V1UOc-yiIUljtePRM,758
|
|
|
3
3
|
test/test_client_c6u.py,sha256=VpxF5etPtGYuXX9TfUl78tOj0pjozvPkrVx6FKbZDjQ,37585
|
|
4
4
|
test/test_client_c80.py,sha256=RY_1SgRVcQQdN9h0_IXA0YW4_0flEB_uel05QvDDfws,42359
|
|
5
5
|
test/test_client_deco.py,sha256=YPLKRD8GoyDYHfRgdXvCk8iVNw8zdMJW-AHVnNbpdTM,31719
|
|
6
|
-
test/test_client_ex.py,sha256=
|
|
6
|
+
test/test_client_ex.py,sha256=Kg6svEKtyGAfyF9yrLh2qZa2tK1mlEBJJwXRsq1MAjo,26591
|
|
7
7
|
test/test_client_mr.py,sha256=lePxkmjcPzcrSFcaT8bT67L154cVJIOWrFlXMDOa8oY,33423
|
|
8
8
|
test/test_client_wdr.py,sha256=0ZnRNP57MbuMv2cxFS8iIoVyv8Q6gtY0Q03gtHp9AWY,13492
|
|
9
9
|
test/test_client_xdr.py,sha256=mgn-xL5mD5sHD8DjTz9vpY7jeh4Ob6Um6Y8v5Qgx2jA,23374
|
|
@@ -16,8 +16,8 @@ tplinkrouterc6u/client/c5400x.py,sha256=9E0omBSbWY_ljrs5MTCMu5brmrLtzsDB5O62Db8l
|
|
|
16
16
|
tplinkrouterc6u/client/c6u.py,sha256=3Jon6_WZkaCyrbTAp9TckB-SIXLP_JyB5gtRI65IuVI,19485
|
|
17
17
|
tplinkrouterc6u/client/c80.py,sha256=ArVhza_fnXcEO-_fsQOd1l2QvmSfsswtohKxrZxEnoU,18568
|
|
18
18
|
tplinkrouterc6u/client/deco.py,sha256=cpKRggKD2RvSmMZuD6tzsZmehAUCU9oLiTTHcZBW81Y,8898
|
|
19
|
-
tplinkrouterc6u/client/ex.py,sha256=
|
|
20
|
-
tplinkrouterc6u/client/mr.py,sha256=
|
|
19
|
+
tplinkrouterc6u/client/ex.py,sha256=gXWsVKAMo4CsX_Qeihb2iCARcsA3E9m2vgIWiJB3sjs,13197
|
|
20
|
+
tplinkrouterc6u/client/mr.py,sha256=keMii7cetOvY1iq9_gWbWMWjuPShHhLXyrbGwX4Og44,26136
|
|
21
21
|
tplinkrouterc6u/client/vr.py,sha256=7Tbu0IrWtr4HHtyrnLFXEJi1QctzhilciL7agtwQ0R8,5025
|
|
22
22
|
tplinkrouterc6u/client/wdr.py,sha256=i54PEifjhfOScDpgNBXygw9U4bfsVtle846_YjnDoBs,21679
|
|
23
23
|
tplinkrouterc6u/client/xdr.py,sha256=QaZ_5vCaf8BV_JEs3S2Nz-QDREBYHGh3OUWIVS-fefY,10406
|
|
@@ -27,8 +27,8 @@ tplinkrouterc6u/common/encryption.py,sha256=4HelTxzN6esMfDZRBt3m8bwB9Nj_biKijnCn
|
|
|
27
27
|
tplinkrouterc6u/common/exception.py,sha256=_0G8ZvW5__CsGifHrsZeULdl8c6EUD071sDCQsQgrHY,140
|
|
28
28
|
tplinkrouterc6u/common/helper.py,sha256=23b04fk9HuVinrZXMCS5R1rmF8uZ7eM-Cdnp7Br9NR0,572
|
|
29
29
|
tplinkrouterc6u/common/package_enum.py,sha256=4ykL_2Pw0nDEIH_qR9UJlFF6stTgSfhPz32r8KT-sh8,1624
|
|
30
|
-
tplinkrouterc6u-5.9.
|
|
31
|
-
tplinkrouterc6u-5.9.
|
|
32
|
-
tplinkrouterc6u-5.9.
|
|
33
|
-
tplinkrouterc6u-5.9.
|
|
34
|
-
tplinkrouterc6u-5.9.
|
|
30
|
+
tplinkrouterc6u-5.9.2.dist-info/licenses/LICENSE,sha256=YF6QR6Vjxcg5b_sYIyqkME7FZYau5TfEUGTG-0JeRK0,35129
|
|
31
|
+
tplinkrouterc6u-5.9.2.dist-info/METADATA,sha256=DWkRDgWo-Pz67-b0bOySwg0AFkvx2jYAYUWq2NRQF9E,15615
|
|
32
|
+
tplinkrouterc6u-5.9.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
33
|
+
tplinkrouterc6u-5.9.2.dist-info/top_level.txt,sha256=1iSCCIueqgEkrTxtQ-jiHe99jAB10zqrVdBcwvNfe_M,21
|
|
34
|
+
tplinkrouterc6u-5.9.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|