Skip to content

Commit 994e637

Browse files
committed
tests: model: Expand reconnection tests of poll_for_events.
1 parent 6faaae9 commit 994e637

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

tests/model/test_model.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2018,8 +2018,13 @@ def test_poll_for_events__no_disconnect(self, mocker, model,
20182018
assert self.client.get_events.called
20192019
assert not sleep.called
20202020

2021-
def test_poll_for_events__reconnect_ok(self, mocker, model, raising_event):
2022-
register_return_value = lambda: ""
2021+
@pytest.mark.parametrize("register_return_value", [
2022+
pytest.param([""], id="reconnect_on_1st_attempt"),
2023+
pytest.param(["error", ""], id="reconnect_on_2nd_attempt"),
2024+
pytest.param(["error", "error", ""], id="reconnect_on_3rd_attempt"),
2025+
])
2026+
def test_poll_for_events__reconnect_ok(self, mocker, model, raising_event,
2027+
register_return_value):
20232028
mocker.patch("zulipterminal.model.Model._register_desired_events",
20242029
side_effect=register_return_value)
20252030
sleep = mocker.patch("zulipterminal.model.time.sleep")
@@ -2036,6 +2041,7 @@ def test_poll_for_events__reconnect_ok(self, mocker, model, raising_event):
20362041
with pytest.raises(self.LoopEnder):
20372042
model.poll_for_events()
20382043

2039-
model._register_desired_events.assert_called_once()
2044+
registers = [mocker.call() for _ in range(len(register_return_value))]
2045+
model._register_desired_events.assert_has_calls(registers)
20402046
assert self.client.get_events.called
2041-
assert not sleep.called
2047+
assert sleep.call_count == len(registers) - 1

0 commit comments

Comments
 (0)