def test_login_fatal_error(self, inner_login_m, scc_m, fssauu_m, caplog, has_lr): caplog.set_level(10) inner_login_m.side_effect = [LoginError("message")] * self.login_retries + [ None ] conn = Connection() if has_lr: # For historical reasons. conn._login_response = mock.MagicMock() with pytest.raises(LoginError, match="unknown error"): conn.login() assert inner_login_m.call_count == self.login_retries scc_m.assert_called_once_with(conn, mock.ANY, mock.ANY) fssauu_m.assert_not_called() expected = [] for i in range(self.login_retries): retries_left = self.login_retries - i expected.append((10, "Logging in (%d retries left)" % (retries_left))) expected.append((30, "Trying to log again due to LoginError('message')")) expected = [(self.logger_name,) + x for x in expected] assert caplog.record_tuples == expected
def test_login_ok(self, inner_login_m, scc_m, fsauu_m, caplog): caplog.set_level(10) conn = Connection() conn.login() inner_login_m.assert_called_once_with() scc_m.assert_not_called() fsauu_m.assert_called_once_with() assert caplog.record_tuples == [ (self.logger_name, 10, "Logging in (10 retries left)"), (self.logger_name, 20, "Logged in"), ]
def test_login_some_errors(self, inner_login_m, scc_m, fsauu_m, nerrors, caplog): caplog.set_level(10) inner_login_m.side_effect = [LoginError("message")] * nerrors + [None] conn = Connection() conn.login() assert inner_login_m.call_count == nerrors + 1 scc_m.assert_not_called() fsauu_m.assert_called_once_with() expected = [] for i in range(nerrors + 1): retries_left = self.login_retries - i expected.append((10, "Logging in (%d retries left)" % (retries_left))) if i != nerrors: expected.append( (30, "Trying to log again due to LoginError('message')") ) expected.append((20, "Logged in")) expected = [(self.logger_name,) + x for x in expected] assert caplog.record_tuples == expected