Exemplo n.º 1
0
    def test_bind_honors_initial_values(self):
        """
        Passed initia_values are merged on binds.
        """
        p = BoundLoggerLazyProxy(None, initial_values={"a": 1, "b": 2})
        b = p.bind()

        assert {"a": 1, "b": 2} == b._context

        b = p.bind(c=3)

        assert {"a": 1, "b": 2, "c": 3} == b._context
Exemplo n.º 2
0
    def test_argument_takes_precedence_over_configuration(self, cache):
        """
        Passing cache_logger_on_first_use as an argument overrides config.
        """
        configure(cache_logger_on_first_use=cache)

        proxy = BoundLoggerLazyProxy(None, cache_logger_on_first_use=not cache)
        bind = proxy.bind
        proxy.bind()

        if cache:
            assert bind == proxy.bind
        else:
            assert bind != proxy.bind
Exemplo n.º 3
0
    def test_bind_doesnt_cache_logger(self):
        """
        Calling configure() changes BoundLoggerLazyProxys immediately.
        Previous uses of the BoundLoggerLazyProxy don't interfere.
        """
        class F(object):
            "New logger factory with a new attribute"
            def a(self, *args):
                return 5

        proxy = BoundLoggerLazyProxy(None)
        proxy.bind()
        configure(logger_factory=F)
        new_b = proxy.bind()
        assert new_b.a() == 5
Exemplo n.º 4
0
    def test_prefers_args_over_config(self):
        p = BoundLoggerLazyProxy(None, processors=[1, 2, 3], context_class=dict)
        b = p.bind()
        assert isinstance(b._context, dict)
        assert [1, 2, 3] == b._processors

        class Class(object):
            def __init__(self, *args, **kw):
                pass

            def update(self, *args, **kw):
                pass

        configure(processors=[4, 5, 6], context_class=Class)
        b = p.bind()
        assert not isinstance(b._context, Class)
        assert [1, 2, 3] == b._processors
Exemplo n.º 5
0
    def test_prefers_args_over_config(self):
        p = BoundLoggerLazyProxy(None, processors=[1, 2, 3],
                                 context_class=dict)
        b = p.bind()
        assert isinstance(b._context, dict)
        assert [1, 2, 3] == b._processors

        class Class(object):
            def __init__(self, *args, **kw):
                pass

            def update(self, *args, **kw):
                pass
        configure(processors=[4, 5, 6], context_class=Class)
        b = p.bind()
        assert not isinstance(b._context, Class)
        assert [1, 2, 3] == b._processors
Exemplo n.º 6
0
    def test_honors_wrapper_class(self):
        """
        Passed wrapper_class is used.
        """
        p = BoundLoggerLazyProxy(None, wrapper_class=Wrapper)
        b = p.bind()

        assert isinstance(b, Wrapper)
Exemplo n.º 7
0
    def test_prefers_args_over_config(self):
        """
        Configuration can be overridden by passing arguments.
        """
        p = BoundLoggerLazyProxy(None,
                                 processors=[1, 2, 3],
                                 context_class=dict)
        b = p.bind()
        assert isinstance(b._context, dict)
        assert [1, 2, 3] == b._processors

        class Class:
            def __init__(self, *args, **kw):
                pass

            def update(self, *args, **kw):
                pass

        configure(processors=[4, 5, 6], context_class=Class)
        b = p.bind()

        assert not isinstance(b._context, Class)
        assert [1, 2, 3] == b._processors
Exemplo n.º 8
0
 def test_argument_takes_precedence_over_configuration2(self):
     configure(cache_logger_on_first_use=False)
     proxy = BoundLoggerLazyProxy(None, cache_logger_on_first_use=True)
     bind = proxy.bind
     proxy.bind()
     assert bind != proxy.bind
Exemplo n.º 9
0
 def test_bind_honors_initial_values(self):
     p = BoundLoggerLazyProxy(None, initial_values={"a": 1, "b": 2})
     b = p.bind()
     assert {"a": 1, "b": 2} == b._context
     b = p.bind(c=3)
     assert {"a": 1, "b": 2, "c": 3} == b._context
Exemplo n.º 10
0
 def test_argument_takes_precedence_over_configuration2(self):
     configure(cache_logger_on_first_use=False)
     proxy = BoundLoggerLazyProxy(None, cache_logger_on_first_use=True)
     bind = proxy.bind
     proxy.bind()
     assert bind != proxy.bind
Exemplo n.º 11
0
 def test_honors_wrapper_class(self):
     p = BoundLoggerLazyProxy(None, wrapper_class=Wrapper)
     b = p.bind()
     assert isinstance(b, Wrapper)
Exemplo n.º 12
0
 def test_bind_honors_initial_values(self):
     p = BoundLoggerLazyProxy(None, initial_values={"a": 1, "b": 2})
     b = p.bind()
     assert {"a": 1, "b": 2} == b._context
     b = p.bind(c=3)
     assert {"a": 1, "b": 2, "c": 3} == b._context
Exemplo n.º 13
0
 def test_bind_honors_initial_values(self):
     p = BoundLoggerLazyProxy(None, initial_values={'a': 1, 'b': 2})
     b = p.bind()
     assert {'a': 1, 'b': 2} == b._context
     b = p.bind(c=3)
     assert {'a': 1, 'b': 2, 'c': 3} == b._context
Exemplo n.º 14
0
 def test_bind_honors_initial_values(self):
     p = BoundLoggerLazyProxy(None, initial_values={'a': 1, 'b': 2})
     b = p.bind()
     assert {'a': 1, 'b': 2} == b._context
     b = p.bind(c=3)
     assert {'a': 1, 'b': 2, 'c': 3} == b._context