OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
tests
/
integration
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/14/2024 03:19:10 PM
rwxr-xr-x
📄
__init__.py
479 bytes
05/14/2024 03:19:10 PM
rw-r--r--
📁
__pycache__
-
05/14/2024 03:19:10 PM
rwxr-xr-x
📄
helper.py
1.74 KB
05/14/2024 03:19:10 PM
rw-r--r--
📄
test_chunked_logging.py
1.26 KB
05/14/2024 03:19:10 PM
rw-r--r--
📄
test_common_logging.py
827 bytes
05/14/2024 03:19:10 PM
rw-r--r--
📄
test_debugging_fields.py
1.96 KB
05/14/2024 03:19:10 PM
rw-r--r--
📄
test_extra_fields.py
2.2 KB
05/14/2024 03:19:10 PM
rw-r--r--
📄
test_status_issue.py
1.93 KB
05/14/2024 03:19:10 PM
rw-r--r--
Editing: test_extra_fields.py
Close
#!/usr/bin/env python # -*- coding: utf-8 -*- """pytests for validating the addition of extra fields within GELF logs""" import logging import pytest from graypy import GELFTLSHandler, GELFTCPHandler, GELFUDPHandler, GELFHTTPHandler from tests.helper import ( 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_unique_message, get_graylog_response class DummyFilter(logging.Filter): def filter(self, record): record.ozzy = "diary of a madman" record.van_halen = 1984 record.id = 42 return True @pytest.fixture( params=[ GELFTCPHandler("127.0.0.1", TEST_TCP_PORT, extra_fields=True), GELFUDPHandler("127.0.0.1", TEST_UDP_PORT, extra_fields=True), GELFUDPHandler("127.0.0.1", TEST_UDP_PORT, compress=False, extra_fields=True), GELFHTTPHandler("127.0.0.1", TEST_HTTP_PORT, extra_fields=True), GELFHTTPHandler("127.0.0.1", TEST_HTTP_PORT, compress=False, extra_fields=True), GELFTLSHandler("127.0.0.1", TEST_TLS_PORT, extra_fields=True), GELFTLSHandler( "127.0.0.1", TEST_TLS_PORT, validate=True, ca_certs=TEST_CERT, extra_fields=True, ), ] ) def handler(request): return request.param @pytest.yield_fixture def logger(handler): logger = logging.getLogger("test") dummy_filter = DummyFilter() logger.addFilter(dummy_filter) logger.addHandler(handler) yield logger logger.removeHandler(handler) logger.removeFilter(dummy_filter) @pytest.mark.skipif(not LOCAL_GRAYLOG_UP, reason="local Graylog instance not up") def test_dynamic_fields(logger): message = get_unique_message() logger.error(message) graylog_response = get_graylog_response(message, fields=["ozzy", "van_halen"]) assert message == graylog_response["message"] assert "long_message" not in graylog_response assert "timestamp" in graylog_response assert "diary of a madman" == graylog_response["ozzy"] assert 1984 == graylog_response["van_halen"] assert 42 != graylog_response["_id"] assert "id" not in graylog_response