Esempio n. 1
0
def test_should_work_for_instance_method_with_kwargs():
    decorator = build_instance_method_decorator(logger=TestLogger())

    class Foo(object):
        @decorator()
        def handle(self, arg1):
            self.logger.info('Bar')
            return arg1

    foo = Foo()
    foo.handle(arg1='1')
    _assert_extra(decorator.logger.logs[0].extra, {
        'tag': None, 'params': {'arg1': '1'},
        'method': 'handle'})
    assert decorator.logger.logs[1].msg == 'Bar'
Esempio n. 2
0
    'version': 1,
    'formatters': {
        'simple': {
            'format': '%(levelname)s|%(module)s|%(message)s|%(method)s|'}},
    'handlers': {
        'stdout': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'}},
    'loggers': {
        'default': {
            'handlers': ['stdout'],
            'level': 'DEBUG'}}})

logger = logging.getLogger('default')
logged = build_instance_method_decorator(logger=logger)


SCHEMA = {
    'type': 'object',
    'properties': {
        'baz': {'type': 'integer'},
        'qux': {'type': 'string'},
    }
}


class Foo(object):
    @logged()
    @validated(SCHEMA)
    def bar(self, baz, qux=''):