def test_process_raises_the_exception_when_debugging(settings, find_event): core.cleanup_handlers() settings.DEBUG = True handler_fail = Mock() handler_fail.side_effect = ValueError('P0wned!!!') eventlib.handler('myapp.CoolEvent')(handler_fail) name, data = 'myapp.CoolEvent', ejson.dumps({'a': 1}) core.process.when.called_with(name, data).should.throw(ValueError, 'P0wned!!!')
def test_process_raises_the_exception_when_debugging(settings, find_event): core.cleanup_handlers() settings.DEBUG = True handler_fail = Mock() handler_fail.side_effect = ValueError('P0wned!!!') eventlib.handler('myapp.CoolEvent')(handler_fail) name, data = 'myapp.CoolEvent', ejson.dumps({'a': 1}) core.process.when.called_with(name, data).should.throw( ValueError, 'P0wned!!!')
def test_process(find_event): core.cleanup_handlers() handler = Mock() eventlib.handler('app.Event')(handler) handler2 = Mock() eventlib.handler('app.Event')(handler2) data = {'file': '/etc/passwd', 'server': 'yipster'} core.process('app.Event', ejson.dumps(data)) handler.assert_called_once_with(data) handler2.assert_called_once_with(data)
def test_process_fails_gracefully(settings, logger, find_event): core.cleanup_handlers() settings.DEBUG = False handler_fail = Mock() handler_fail.side_effect = ValueError('P0wned!!!') eventlib.handler('myapp.CoolEvent')(handler_fail) handler = Mock() eventlib.handler('myapp.CoolEvent')(handler) data = {'a': 1} event = 'myapp.CoolEvent' core.process(event, ejson.dumps(data)) logger.warning.assert_called_once_with( 'One of the handlers for the event "myapp.CoolEvent" has ' 'failed with the following exception: P0wned!!!') handler.assert_called_once_with(data)