def setUp(self): super(StepTest, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.actions = { 'start': False, 'error': False, 'end': False, 'success': False } @gossip.register('slash.step_start', token="step") def step_start(): self.actions['start'] = True @gossip.register('slash.step_end', token="step") def step_end(): self.actions['end'] = True @gossip.register('slash.step_success', token="step") def step_success(): self.actions['success'] = True self._verify(end=False) @gossip.register('slash.step_error', token="step") def step_error(): self.actions['error'] = True self._verify(success=False, end=False, error=True)
def test_redirect_logbook(self): import logging from logbook.compat import LoggingHandler out = StringIO() logger = logging.getLogger() old_handlers = logger.handlers[:] handler = logging.StreamHandler(out) handler.setFormatter(logging.Formatter( '%(name)s:%(levelname)s:%(message)s')) logger.handlers[:] = [handler] try: logging_handler = LoggingHandler() logging_handler.push_thread() try: self.log.warn("This goes to logging") pieces = out.getvalue().strip().split(':') self.assertEqual(pieces, [ 'testlogger', 'WARNING', 'This goes to logging' ]) finally: logging_handler.pop_thread() finally: logger.handlers[:] = old_handlers
class TestCase(unittest.TestCase): def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.addCleanup(self._handler.pop_application) gossip.get_group('slash').set_exception_policy(gossip.RaiseImmediately()) self.override_config("log.console_level", 10000) # silence console in tests def override_config(self, path, value): self.addCleanup(config.assign_path, path, config.get_path(path)) config.assign_path(path, value) def get_new_path(self): returned = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, returned) return returned _forge = None @property def forge(self): if self._forge is None: self._forge = forge.Forge() return self._forge _events = None @property def events(self): if self._events is None: self._events = self.forge.create_wildcard_mock() return self._events def tearDown(self): if self._forge is not None: self._forge.restore_all_replacements() self._forge.verify() super(TestCase, self).tearDown()
class TestCase(unittest.TestCase): def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.override_config("hooks.swallow_exceptions", False) self.override_config("log.console_level", 10000) # silence console in tests def override_config(self, path, value): self.addCleanup(config.assign_path, path, config.get_path(path)) config.assign_path(path, value) _forge = None @property def forge(self): if self._forge is None: self._forge = forge.Forge() return self._forge _events = None @property def events(self): if self._events is None: self._events = self.forge.create_wildcard_mock() return self._events def tearDown(self): if self._forge is not None: self._forge.restore_all_replacements() self._forge.verify() self._handler.pop_application() super(TestCase, self).tearDown()
def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.override_config("hooks.swallow_exceptions", False) self.override_config("log.console_level", 10000) # silence console in tests
def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.addCleanup(self._handler.pop_application) gossip.get_group('slash').set_exception_policy( gossip.RaiseImmediately()) self.override_config("log.console_level", 10000) # silence console in tests
class StepTest(unittest.TestCase): def setUp(self): super(StepTest, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.actions = {'start':False, 'error':False, 'end':False, 'success':False} @gossip.register('slash.step_start', token="step") def step_start(): self.actions['start'] = True @gossip.register('slash.step_end', token="step") def step_end(): self.actions['end'] = True @gossip.register('slash.step_success', token="step") def step_success(): self.actions['success'] = True self._verify(end=False) @gossip.register('slash.step_error', token="step") def step_error(): self.actions['error'] = True self._verify(success=False, end=False, error=True) def tearDown(self): self._handler.pop_application() gossip.unregister_token(token="step") super(StepTest, self).tearDown() def test_step_entry(self): msg = "Some step message" with STEP(msg) as step: self.assertIsInstance(step, STEP) self.assertEquals(str(step), msg) self.assertIn(msg, repr(step)) def test_step_success(self): with STEP("This will succeed"): self._verify(success=False, end=False) self._verify() def test_step_error(self): with self.assertRaises(AssertionError): with STEP("This will fail"): assert 1 == 0 self._verify(success=False, error=True) def _verify(self, start=True, success=True, end=True, error=False): self.assertEquals(start, self.actions['start']) self.assertEquals(end, self.actions['end']) self.assertEquals(success, self.actions['success']) self.assertEquals(error, self.actions['error']) def test_step_creation_with_arguments(self): step = STEP("Message with args and kwargs", "args", kwargs='kwargs') self.assertEquals(step.message, "Message with args and kwargs") def test_step_creation_with_curly_brackets_without_arguments(self): message = "My message with {curly brackets}" step = STEP(message) self.assertEquals(step.message, message)
def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.addCleanup(self._handler.pop_application) gossip.get_group('slash').set_exception_policy(gossip.RaiseImmediately()) self.override_config("log.console_level", 10000) # silence console in tests
def run(): out = StringIO() log.addHandler(StreamHandler(out)) with LoggingHandler(): for x in xrange(500): log.warning('this is not handled') assert out.getvalue().count('\n') == 500
class TestCase(unittest.TestCase): def setUp(self): super(TestCase, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.addCleanup(self._handler.pop_application) gossip.get_group('slash').set_exception_policy( gossip.RaiseImmediately()) self.override_config("log.console_level", 10000) # silence console in tests def override_config(self, path, value): self.addCleanup(config.assign_path, path, config.get_path(path)) config.assign_path(path, value) def get_new_path(self): returned = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, returned) return returned _forge = None @property def forge(self): if self._forge is None: self._forge = forge.Forge() return self._forge _events = None @property def events(self): if self._events is None: self._events = self.forge.create_wildcard_mock() return self._events def tearDown(self): if self._forge is not None: self._forge.restore_all_replacements() self._forge.verify() super(TestCase, self).tearDown()
def setUp(self): super(StepTest, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.actions = {'start':False, 'error':False, 'end':False, 'success':False} @gossip.register('slash.step_start', token="step") def step_start(): self.actions['start'] = True @gossip.register('slash.step_end', token="step") def step_end(): self.actions['end'] = True @gossip.register('slash.step_success', token="step") def step_success(): self.actions['success'] = True self._verify(end=False) @gossip.register('slash.step_error', token="step") def step_error(): self.actions['error'] = True self._verify(success=False, end=False, error=True)
def test_redirect_logbook(self): import logging from logbook.compat import LoggingHandler out = StringIO() logger = logging.getLogger() old_handlers = logger.handlers[:] handler = logging.StreamHandler(out) handler.setFormatter(logging.Formatter( '%(name)s:%(levelname)s:%(message)s')) logger.handlers[:] = [handler] try: with LoggingHandler(): self.log.warn("This goes to logging") pieces = out.getvalue().strip().split(':') self.assertEqual(pieces, [ 'testlogger', 'WARNING', 'This goes to logging' ]) finally: logger.handlers[:] = old_handlers
from pathlib import Path from logbook.compat import LoggingHandler from aiohttp.web import Application from aiogram import Bot, Dispatcher from aiogram.contrib.middlewares.i18n import I18nMiddleware from .conf import config PROJECT_NAME = 'alarmbot' LOCALES_DIR = Path(__file__).parent.parent / 'locales' app = Application() # Initialize bot and dispatcher bot = Bot(token=config.TELEGRAM_TOKEN) dp = Dispatcher(bot) i18n = I18nMiddleware(PROJECT_NAME, LOCALES_DIR) dp.middleware.setup(i18n) LoggingHandler().push_application()
def emit(self, record): super(ColoredLogHandler, self).emit(record) converter = LoggingHandler() pdtb_log_handler.emit(converter.convert_record(record))
class StepTest(unittest.TestCase): def setUp(self): super(StepTest, self).setUp() self._handler = LoggingHandler() self._handler.push_application() self.actions = { 'start': False, 'error': False, 'end': False, 'success': False } @gossip.register('slash.step_start', token="step") def step_start(): self.actions['start'] = True @gossip.register('slash.step_end', token="step") def step_end(): self.actions['end'] = True @gossip.register('slash.step_success', token="step") def step_success(): self.actions['success'] = True self._verify(end=False) @gossip.register('slash.step_error', token="step") def step_error(): self.actions['error'] = True self._verify(success=False, end=False, error=True) def tearDown(self): self._handler.pop_application() gossip.unregister_token(token="step") super(StepTest, self).tearDown() def test_step_entry(self): msg = "Some step message" with STEP(msg) as step: self.assertIsInstance(step, STEP) self.assertEquals(str(step), msg) self.assertIn(msg, repr(step)) def test_step_success(self): with STEP("This will succeed"): self._verify(success=False, end=False) self._verify() def test_step_error(self): with self.assertRaises(AssertionError): with STEP("This will fail"): assert 1 == 0 self._verify(success=False, error=True) def _verify(self, start=True, success=True, end=True, error=False): self.assertEquals(start, self.actions['start']) self.assertEquals(end, self.actions['end']) self.assertEquals(success, self.actions['success']) self.assertEquals(error, self.actions['error']) def test_step_creation_with_arguments(self): step = STEP("Message with args and kwargs", "args", kwargs='kwargs') self.assertEquals(step.message, "Message with args and kwargs") def test_step_creation_with_curly_brackets_without_arguments(self): message = "My message with {curly brackets}" step = STEP(message) self.assertEquals(step.message, message)
ctx = process_algo_params(ctx, **kwargs) algorithm = ctx.algorithm algomodule = ctx.algomodule with LiveTraderAPI(algorithm): start_shell(algorithm, algomodule) @click.command() def version(): from ._version import VERSION click.echo('v{}'.format(VERSION)) def extract_filename(algofile): algofilename = algofile algofilename = os.path.basename(algofilename) if '.py' in algofilename: algofilename = algofilename[:-3] return algofilename main.add_command(run) main.add_command(shell) main.add_command(version) if __name__ == '__main__': from logbook.compat import LoggingHandler with LoggingHandler(): main()