From 1fa1fe96cd429562657952f55a4b44ed90cf144c Mon Sep 17 00:00:00 2001 From: Andrew Lewis Date: Mon, 1 Jan 2024 16:01:50 +0200 Subject: [PATCH] [Test] Some more tests for logging --- .../000_console/000_systemd_logger.robot} | 5 +++- .../000_console/001_timestamps.robot | 24 +++++++++++++++++++ .../cases/410_logging/001_file/000_json.robot | 17 +++++++++++++ .../functional/configs/loggingtest-local.conf | 5 ++++ .../{systemd.conf => loggingtest.conf} | 2 +- test/functional/configs/systemd-local.conf | 4 ---- test/functional/lib/rspamd.py | 9 +++++++ 7 files changed, 60 insertions(+), 6 deletions(-) rename test/functional/cases/{410_systemd_logger.robot => 410_logging/000_console/000_systemd_logger.robot} (76%) create mode 100644 test/functional/cases/410_logging/000_console/001_timestamps.robot create mode 100644 test/functional/cases/410_logging/001_file/000_json.robot create mode 100644 test/functional/configs/loggingtest-local.conf rename test/functional/configs/{systemd.conf => loggingtest.conf} (85%) delete mode 100644 test/functional/configs/systemd-local.conf diff --git a/test/functional/cases/410_systemd_logger.robot b/test/functional/cases/410_logging/000_console/000_systemd_logger.robot similarity index 76% rename from test/functional/cases/410_systemd_logger.robot rename to test/functional/cases/410_logging/000_console/000_systemd_logger.robot index f90d16065..88178461b 100644 --- a/test/functional/cases/410_systemd_logger.robot +++ b/test/functional/cases/410_logging/000_console/000_systemd_logger.robot @@ -6,7 +6,10 @@ Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot Variables ${RSPAMD_TESTDIR}/lib/vars.py *** Variables *** -${CONFIG} ${RSPAMD_TESTDIR}/configs/systemd.conf +${CONFIG} ${RSPAMD_TESTDIR}/configs/loggingtest.conf +${RSPAMD_LOGGINGTYPE} console +${RSPAMD_JSON} false +${RSPAMD_SYSTEMD} true ${RSPAMD_SCOPE} Suite *** Test Cases *** diff --git a/test/functional/cases/410_logging/000_console/001_timestamps.robot b/test/functional/cases/410_logging/000_console/001_timestamps.robot new file mode 100644 index 000000000..bd8e2c349 --- /dev/null +++ b/test/functional/cases/410_logging/000_console/001_timestamps.robot @@ -0,0 +1,24 @@ +*** Settings *** +Suite Setup Rspamd Setup +Suite Teardown Console Timestamps Teardown +Library ${RSPAMD_TESTDIR}/lib/rspamd.py +Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot +Variables ${RSPAMD_TESTDIR}/lib/vars.py + +*** Variables *** +${CONFIG} ${RSPAMD_TESTDIR}/configs/loggingtest.conf +${RSPAMD_LOGGINGTYPE} console +${RSPAMD_JSON} false +${RSPAMD_SYSTEMD} false +${RSPAMD_SCOPE} Suite + +*** Test Cases *** +EMPTY TEST + Pass Execution No worries + +*** Keywords *** +Console Timestamps Teardown + Touch ${RSPAMD_TMPDIR}/rspamd.log + Rspamd Teardown + ${log} = Get File ${EXECDIR}/robot-save/rspamd.stderr.last + Should Match Regexp ${log} \\n\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} #\\d+\\(main\\) lua; lua_cfg_transform\\.lua:\\d+: overriding actions from the legacy metric settings\\n diff --git a/test/functional/cases/410_logging/001_file/000_json.robot b/test/functional/cases/410_logging/001_file/000_json.robot new file mode 100644 index 000000000..a2f04e85c --- /dev/null +++ b/test/functional/cases/410_logging/001_file/000_json.robot @@ -0,0 +1,17 @@ +*** Settings *** +Test Setup Rspamd Setup +Library ${RSPAMD_TESTDIR}/lib/rspamd.py +Resource ${RSPAMD_TESTDIR}/lib/rspamd.robot +Variables ${RSPAMD_TESTDIR}/lib/vars.py + +*** Variables *** +${CONFIG} ${RSPAMD_TESTDIR}/configs/loggingtest.conf +${RSPAMD_LOGGINGTYPE} file +${RSPAMD_JSON} true +${RSPAMD_SYSTEMD} true +${RSPAMD_SCOPE} Test + +*** Test Cases *** +JSON LOGS + Rspamd Teardown + Check JSON Log ${EXECDIR}/robot-save/rspamd.log.last diff --git a/test/functional/configs/loggingtest-local.conf b/test/functional/configs/loggingtest-local.conf new file mode 100644 index 000000000..7330d972e --- /dev/null +++ b/test/functional/configs/loggingtest-local.conf @@ -0,0 +1,5 @@ +logging { + type = "{= env.LOGGINGTYPE =}"; + json = {= env.JSON =}; + systemd = {= env.SYSTEMD =}; +} diff --git a/test/functional/configs/systemd.conf b/test/functional/configs/loggingtest.conf similarity index 85% rename from test/functional/configs/systemd.conf rename to test/functional/configs/loggingtest.conf index f57827c48..99026df81 100644 --- a/test/functional/configs/systemd.conf +++ b/test/functional/configs/loggingtest.conf @@ -1,3 +1,3 @@ .include(duplicate=append,priority=0) "{= env.TESTDIR =}/configs/trivial.conf" -.include(priority=1,duplicate=merge) "{= env.TESTDIR =}/configs/systemd-local.conf" +.include(priority=1,duplicate=merge) "{= env.TESTDIR =}/configs/loggingtest-local.conf" diff --git a/test/functional/configs/systemd-local.conf b/test/functional/configs/systemd-local.conf deleted file mode 100644 index ed796a95e..000000000 --- a/test/functional/configs/systemd-local.conf +++ /dev/null @@ -1,4 +0,0 @@ -logging { - type = "console"; - systemd = true; -} diff --git a/test/functional/lib/rspamd.py b/test/functional/lib/rspamd.py index 49c21a449..3976ca949 100644 --- a/test/functional/lib/rspamd.py +++ b/test/functional/lib/rspamd.py @@ -24,6 +24,15 @@ def Check_JSON(j): assert 'error' not in d return d +def check_json_log(fn): + line_count = 0 + f = open(fn, 'r') + for l in f.readlines(): + d = demjson.decode(l, strict=True) + assert len(d) > 0 + line_count = line_count + 1 + assert line_count > 0 + def cleanup_temporary_directory(directory): shutil.rmtree(directory) -- 2.39.5