Exemplo n.º 1
0
    def test_restartAfterError(self, _postException):
        """
        When _postException fails we restart the observer after handling it.
        """
        logModule = mock.Mock()

        postFailure = deep_failure()
        _postException.return_value = fail(postFailure)
        observer = AirbrakeLogObserver("API-KEY", _logModule=logModule)

        observer.emit({"isError": True, "failure": deep_failure()})

        logModule.removeObserver.assert_called_once_with(observer.emit)
        logModule.addObserver.assert_called_once_with(observer.emit)
        logModule.err.assert_called_once_with(
            postFailure, "Unhandled error logging exception to http://api.airbrake.io/notifier_api/v2/notices"
        )