Esempio n. 1
0
    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
Esempio n. 2
0
    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"),
        ]
Esempio n. 3
0
    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