コード例 #1
0
    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)
コード例 #2
0
ファイル: test_regular.py プロジェクト: florentx/logbook
 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
コード例 #3
0
ファイル: __init__.py プロジェクト: ArielAzia/slash
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()
コード例 #4
0
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()
コード例 #5
0
 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
コード例 #6
0
ファイル: __init__.py プロジェクト: wubob/slash
 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
コード例 #7
0
ファイル: test__step.py プロジェクト: Sentinel-One/slash-step
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)
コード例 #8
0
ファイル: __init__.py プロジェクト: ArielAzia/slash
 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
コード例 #9
0
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
コード例 #10
0
ファイル: __init__.py プロジェクト: wubob/slash
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()
コード例 #11
0
ファイル: test__step.py プロジェクト: Sentinel-One/slash-step
 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)
コード例 #12
0
 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
コード例 #13
0
ファイル: __init__.py プロジェクト: alonho/shakedown
 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
コード例 #14
0
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()
コード例 #15
0
ファイル: logging.py プロジェクト: LexTerm/CRITI
 def emit(self, record):
     super(ColoredLogHandler, self).emit(record)
     converter = LoggingHandler()
     pdtb_log_handler.emit(converter.convert_record(record))
コード例 #16
0
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)
コード例 #17
0
ファイル: __main__.py プロジェクト: johnmafly/pylivetrader
    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()