8000 _last_rcv_time fixes for correct disconnect/connect handling · markom84/lib-python@1db89d4 · GitHub
[go: up one dir, main page]

8000 Skip to content

Commit 1db89d4

Browse files
committed
_last_rcv_time fixes for correct disconnect/connect handling
1 parent f7ea75d commit 1db89d4

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

blynklib.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ def connect(self, timeout=_CONNECT_TIMEOUT):
278278
self._get_socket()
279279
self._authenticate()
280280
self._set_heartbeat()
281+
self._last_rcv_time = ticks_ms()
281282
self.log('Registered events: {}\n'.format(list(self._events.keys())))
282283
self.call_handler(self._CONNECT)
283284
return True
@@ -361,8 +362,8 @@ def read_response(self, timeout=0.5):
361362
end_time = time.time() + timeout
362363
while time.time() <= end_time:
363364
rsp_data = self.receive(self.rcv_buffer, self.SOCK_TIMEOUT)
364-
self._last_rcv_time = ticks_ms()
365365
if rsp_data:
366+
self._last_rcv_time = ticks_ms()
366367
msg_type, msg_id, h_data, msg_args = self.parse_response(rsp_data, self.rcv_buffer)
367368
self.process(msg_type, msg_id, h_data, msg_args)
368369

test/test_blynk_main.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
from __future__ import print_function
33
import socket
44
import pytest
5-
from blynklib import Blynk, BlynkError, RedirectError
5+
import blynklib
66

77

88
class TestBlynk:
99
@pytest.fixture
1010
def bl(self):
11-
blynk = Blynk('1234', log=print)
11+
blynk = blynklib.Blynk('1234', log=print)
1212
yield blynk
1313

1414
def test_connect(self, bl, mocker):
@@ -17,13 +17,15 @@ def test_connect(self, bl, mocker):
1717
with mocker.patch.object(bl, '_authenticate', return_value=None):
1818
with mocker.patch.object(bl, '_set_heartbeat', return_value=None):
1919
with mocker.patch.object(bl, 'call_handler', return_value=None):
20-
result = bl.connect()
21-
assert result is True
20+
with mocker.patch.object(blynklib, 'ticks_ms', return_value=42):
21+
result = bl.connect()
22+
assert result is True
23+
assert bl._last_rcv_time == 42
2224

2325
def test_connect_exception(self, bl, mocker):
2426
with mocker.patch.object(bl, 'connected', return_value=False):
2527
with mocker.patch.object(bl, '_get_socket', return_value=None):
26-
with mocker.patch.object(bl, '_authenticate', side_effect=BlynkError()):
28+
with mocker.patch.object(bl, '_authenticate', side_effect=blynklib.BlynkError()):
2729
with mocker.patch.object(bl, 'disconnect', return_value=None):
2830
with mocker.patch('time.sleep', return_value=None):
2931
mocker.spy(bl, 'disconnect')
@@ -34,7 +36,7 @@ def test_connect_exception(self, bl, mocker):
3436
def test_connect_redirect_exception(self, bl, mocker):
3537
with mocker.patch.object(bl, 'connected', return_value=False):
3638
with mocker.patch.object(bl, '_get_socket', return_value=None):
37-
with mocker.patch.object(bl, '_authenticate', side_effect=RedirectError('127.0.0.1', 4444)):
39+
with mocker.patch.object(bl, '_authenticate', side_effect=blynklib.RedirectError('127.0.0.1', 4444)):
3840
with mocker.patch.object(bl, 'disconnect', return_value=None):
3941
with mocker.patch('time.sleep', return_value=None):
4042
mocker.spy(bl, 'disconnect')

0 commit comments

Comments
 (0)
0