import pytest import os from util.log import logfile_path, filter_logs from app import FILTERED_VALUES from _init import CONF_DIR def test_filter_logs(): values = { 'user': { 'password': "toto" }, 'blob': '1234567890asdfewkqresfdsfewfdsfd', 'unfiltered': 'foo' } filter_logs(values, FILTERED_VALUES) assert values == {'user': {'password': '[FILTERED]'}, 'blob': '12345678', 'unfiltered': "foo"} @pytest.mark.parametrize('debug,jsonfmt,expected', [ (False, False, os.path.join(CONF_DIR, "logging.conf")), (False, True, os.path.join(CONF_DIR, "logging_json.conf")), (True, False, os.path.join(CONF_DIR, "logging_debug.conf")), (True, True, os.path.join(CONF_DIR, "logging_debug_json.conf")) ]) def test_logfile_path(debug, jsonfmt, expected, monkeypatch): assert logfile_path(jsonfmt=jsonfmt, debug=debug) == expected @pytest.mark.parametrize('debug,jsonfmt,expected', [ ("false", "false", os.path.join(CONF_DIR, "logging.conf")), ("false", "true", os.path.join(CONF_DIR, "logging_json.conf")), ("true", "false", os.path.join(CONF_DIR, "logging_debug.conf")), ("true", "true", os.path.join(CONF_DIR, "logging_debug_json.conf")) ]) def test_logfile_path_env(debug, jsonfmt, expected, monkeypatch): monkeypatch.setenv("DEBUGLOG", debug) monkeypatch.setenv("JSONLOG", jsonfmt) assert logfile_path() == expected def test_logfile_path_default(): assert logfile_path() == os.path.join(CONF_DIR, "logging.conf")