Esempio n. 1
0
def test_set_level():
    containerlog.manager.loggers = {
        "test": containerlog.Logger("test", manager=containerlog.manager),
        "foo": containerlog.Logger("foo", manager=containerlog.manager),
    }
    assert containerlog.manager.level == containerlog.DEBUG
    for logger in containerlog.manager.loggers.values():
        assert logger.level == containerlog.DEBUG

    containerlog.set_level(containerlog.ERROR)
    assert containerlog.manager.level == containerlog.ERROR
    for logger in containerlog.manager.loggers.values():
        assert logger.level == containerlog.ERROR
Esempio n. 2
0
 def test_init(self):
     logger = containerlog.Logger(
         name="test", level=containerlog.INFO, manager=containerlog.manager
     )
     assert logger.name == "test"
     assert logger.level == containerlog.INFO
     assert logger._previous_level is None
Esempio n. 3
0
    def test_disable(self):
        logger = containerlog.Logger(name="test", manager=containerlog.manager)
        assert logger.level == containerlog.DEBUG
        assert logger._previous_level is None

        logger.disable()
        assert logger.level == 99
        assert logger._previous_level == containerlog.DEBUG
Esempio n. 4
0
def test_get_logger_existing():
    expected = containerlog.Logger("test", manager=containerlog.manager)
    containerlog.manager.loggers["test"] = expected
    assert len(containerlog.manager.loggers) == 1

    logger = containerlog.get_logger("test")
    assert logger == expected
    assert len(containerlog.manager.loggers) == 1
Esempio n. 5
0
    def test_enable_already_enabled(self, loglevel):
        logger = containerlog.Logger(name="test", level=loglevel, manager=containerlog.manager)
        assert logger.level == loglevel
        assert logger._previous_level is None

        logger.enable()
        assert logger.level == loglevel
        assert logger._previous_level is None
Esempio n. 6
0
def test_disable_all():
    loggers = {
        "test": containerlog.Logger("test", manager=containerlog.manager),
        "foo": containerlog.Logger("foo", manager=containerlog.manager),
        "foo.bar": containerlog.Logger("foo.bar", manager=containerlog.manager),
        "other": containerlog.Logger("other", level=99, manager=containerlog.manager),
    }

    containerlog.manager.loggers = loggers
    containerlog.disable()

    assert loggers["test"].level == 99
    assert loggers["test"].disabled is True
    assert loggers["foo"].level == 99
    assert loggers["foo"].disabled is True
    assert loggers["foo.bar"].level == 99
    assert loggers["foo.bar"].disabled is True
    assert loggers["other"].level == 99
    assert loggers["other"].disabled is True
Esempio n. 7
0
    def test_set_levels_no_loggers(self):
        manager = containerlog.Manager(level=containerlog.ERROR)
        logger = containerlog.Logger(name="test", manager=manager)
        manager.set_levels()

        # Verify that the manager level is ERROR
        assert manager.level == containerlog.ERROR

        # Verify that a Logger not registered with the manager
        # did not get the Manager's log level.
        assert logger.level == containerlog.DEBUG
Esempio n. 8
0
def test_enable_all():
    loggers = {
        "test": containerlog.Logger("test", level=99, manager=containerlog.manager),
        "foo": containerlog.Logger("foo", level=99, manager=containerlog.manager),
        "foo.bar": containerlog.Logger(
            "foo.bar", level=containerlog.INFO, manager=containerlog.manager
        ),
        "other": containerlog.Logger("other", level=99, manager=containerlog.manager),
    }

    containerlog.manager.loggers = loggers
    containerlog.enable()

    assert loggers["test"].level == containerlog.DEBUG
    assert loggers["test"].disabled is False
    assert loggers["foo"].level == containerlog.DEBUG
    assert loggers["foo"].disabled is False
    assert loggers["foo.bar"].level == containerlog.INFO
    assert loggers["foo.bar"].disabled is False
    assert loggers["other"].level == containerlog.DEBUG
    assert loggers["other"].disabled is False
Esempio n. 9
0
    def test_set_levels_with_loggers(self):
        manager = containerlog.Manager(level=containerlog.ERROR)
        logger = containerlog.Logger(name="test", manager=manager)
        manager.loggers = {"test": logger}

        assert logger.level == containerlog.DEBUG
        assert manager.level == containerlog.ERROR

        manager.set_levels()

        assert logger.level == containerlog.ERROR
        assert manager.level == containerlog.ERROR
Esempio n. 10
0
def test_logger():
    """Fixture to get an instance of a Logger with mocked proxy module functions."""
    err = io.StringIO()
    out = io.StringIO()
    log = containerlog.Logger(name="test", manager=containerlog.manager)

    log.utcnow = lambda: datetime.datetime(2020, 1, 1)
    log.writeout = out.write
    log.writeerr = err.write

    yield log, out, err

    err.close()
    out.close()
Esempio n. 11
0
 def test_init_default_level(self):
     logger = containerlog.Logger(name="test", manager=containerlog.manager)
     assert logger.name == "test"
     assert logger.level == containerlog.DEBUG
     assert logger._previous_level is None
Esempio n. 12
0
 def test_disabled_true(self):
     logger = containerlog.Logger(name="test", manager=containerlog.manager)
     logger.disable()
     assert logger.disabled is True
Esempio n. 13
0
 def test_disabled_false(self):
     logger = containerlog.Logger(name="test", manager=containerlog.manager)
     assert logger.disabled is False