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
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""pytests validating the emitting of valid debugging fields for graypy
loggers"""
import pytest
from tests.helper import (
logger,
TEST_CERT,
TEST_TCP_PORT,
TEST_HTTP_PORT,
TEST_TLS_PORT,
TEST_UDP_PORT,
)
from tests.integration import LOCAL_GRAYLOG_UP
from tests.integration.helper import get_graylog_response, get_unique_message
from graypy import GELFUDPHandler, GELFTCPHandler, GELFTLSHandler, GELFHTTPHandler
@pytest.fixture(
params=[
GELFTCPHandler("127.0.0.1", TEST_TCP_PORT, debugging_fields=True),
GELFUDPHandler("127.0.0.1", TEST_UDP_PORT, debugging_fields=True),
GELFUDPHandler(
"127.0.0.1", TEST_UDP_PORT, compress=False, debugging_fields=True
),
GELFHTTPHandler("127.0.0.1", TEST_HTTP_PORT, debugging_fields=True),
GELFHTTPHandler(
"127.0.0.1", TEST_HTTP_PORT, compress=False, debugging_fields=True
),
GELFTLSHandler("127.0.0.1", TEST_TLS_PORT, debugging_fields=True),
GELFTLSHandler(
"127.0.0.1",
TEST_TLS_PORT,
debugging_fields=True,
validate=True,
ca_certs=TEST_CERT,
),
]
)
def handler(request):
return request.param
@pytest.mark.skipif(not LOCAL_GRAYLOG_UP, reason="local Graylog instance not up")
def test_debug_mode(logger):
message = get_unique_message()
logger.error(message)
graylog_response = get_graylog_response(
message, fields=["function", "pid", "thread_name"]
)
assert message == graylog_response["message"]
assert "long_message" not in graylog_response
assert "timestamp" in graylog_response
assert graylog_response["file"].endswith("test_debugging_fields.py")
assert "test_debug_mode" == graylog_response["function"]
assert "line" in graylog_response
assert "file" in graylog_response
assert "pid" in graylog_response
assert "thread_name" in graylog_response
|