Beispiel #1
0
def test_type():
    stream = StringIO()
    cazoo_logger.config(stream)

    logger = cazoo_logger.empty()
    logger.info("hello", type="thing-happened")
    result = json.loads(stream.getvalue())

    assert result["type"] == "thing-happened"
Beispiel #2
0
def test_standard_interpolation():
    stream = StringIO()
    cazoo_logger.config(stream)

    logger = cazoo_logger.empty()
    logger.info("Hello %s today is a %s day", "world", "good")
    result = json.loads(stream.getvalue())

    assert result["msg"] == "Hello world today is a good day"
Beispiel #3
0
def test_data():

    stream = StringIO()
    cazoo_logger.config(stream)

    logger = cazoo_logger.empty()
    logger.with_data(
        sql={"query": "select * from foo where bar = ?", "parameters": [123]}
    ).info("Hello world")

    result = json.loads(stream.getvalue())

    assert result["data"]["sql"]["query"] == "select * from foo where bar = ?"
    assert result["data"]["sql"]["parameters"] == [123]
Beispiel #4
0
def test_add_log_level():
    add_logging_level("TRACE", 25)

    stream = StringIO()
    cazoo_logger.config(stream)
    logger = cazoo_logger.empty()

    logger.trace("This is a new level log")
    result = json.loads(stream.getvalue())
    print(json.dumps(result))

    # CLEAN UP THE NEW LOG LEVEL SO IT DOESN'T LEAK INTO OTHER TESTS
    delattr(logging, "TRACE")

    assert result["level"] == "trace"
Beispiel #5
0
def test_exceptions():
    stream = StringIO()
    cazoo_logger.config(stream)

    logger = cazoo_logger.empty()

    try:
        raise ValueError("What even IS that??")
    except:  # noqa: E722
        logger.exception("Uh oh")

    result = json.loads(stream.getvalue())

    assert result["level"] == "error"
    assert result["data"]["error"]["name"] == "ValueError"
    assert result["data"]["error"]["message"] == "What even IS that??"

    assert result["msg"] == "Uh oh"