File: test_misc.py

package info (click to toggle)
custodia 0.6.0-5.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 880 kB
  • sloc: python: 6,074; makefile: 317; sh: 62
file content (65 lines) | stat: -rw-r--r-- 1,911 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Copyright (C) 2015  Custodia Project Contributors - see LICENSE file
from __future__ import absolute_import

import logging.handlers

import pkg_resources

import pytest

from custodia import log

# pylint: disable=redefined-outer-name

PYTEST_VERSION = tuple(int(p) for p in pytest.__version__.split('.'))

if PYTEST_VERSION < (2, 10):
    yield_fixture = pytest.yield_fixture
else:
    yield_fixture = pytest.fixture


@yield_fixture
def loghandler(request):
    orig_handlers = logging.getLogger().handlers[:]
    handler = logging.handlers.BufferingHandler(10240)
    log.setup_logging(debug=False, auditfile=None, handler=handler)
    yield handler
    logging.getLogger().handlers = orig_handlers


def test_import_about():
    from custodia import __about__

    assert __about__.__title__ == 'custodia'
    dist = pkg_resources.get_distribution('custodia')
    assert dist.version == __about__.__version__  # pylint: disable=no-member


def test_logging_info(loghandler):
    testlogger = log.getLogger('custodia.test')
    assert testlogger.getEffectiveLevel() == logging.INFO
    try:
        raise ValueError('testmsg')
    except ValueError:
        testlogger.exception('some message')
    assert len(loghandler.buffer) == 1
    msg = loghandler.format(loghandler.buffer[0])
    loghandler.flush()
    assert msg.endswith('some message (ValueError: testmsg)')
    assert "Traceback" not in msg


def test_logging_debug(loghandler):
    testlogger = log.getLogger('custodia.test')
    testlogger.setLevel(logging.DEBUG)
    try:
        raise ValueError('testmsg with stack')
    except ValueError:
        testlogger.exception('some message')
    assert len(loghandler.buffer) == 1
    msg = loghandler.format(loghandler.buffer[0])
    loghandler.flush()
    assert "some message" in msg
    assert "Traceback (most recent call last):\n" in msg
    assert "ValueError: testmsg with stack" in msg