aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-02-23 06:11:27 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-02-23 06:11:27 +0000
commite7d04f7d5a7c94da47e216228a8859fd48254dba (patch)
tree9eb213e67c5d08c707e1fe88447a4921ae955547
parent896f3a6ed4ca5ccb35cc92f4923cdfe08b9ce581 (diff)
parent050b9f4e7bcb6fc8a91cbadfe56f2387a8343ac0 (diff)
Merge "add logger's unittest"
-rw-r--r--tests/unit/util/__init__.py0
-rw-r--r--tests/unit/util/logger_test.py48
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/unit/util/__init__.py b/tests/unit/util/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/unit/util/__init__.py
diff --git a/tests/unit/util/logger_test.py b/tests/unit/util/logger_test.py
new file mode 100644
index 00000000..339b2bf6
--- /dev/null
+++ b/tests/unit/util/logger_test.py
@@ -0,0 +1,48 @@
+import pytest
+
+from qtip.util import logger
+
+MODULE = 'test_logger'
+ERROR_MSG = 'error level test'
+INFO_MSG = 'info level test'
+DEBUG_MSG = 'debug level test'
+
+
+@pytest.fixture()
+def env_home(monkeypatch, tmpdir):
+ monkeypatch.setenv('HOME', str(tmpdir))
+ return tmpdir
+
+
+@pytest.fixture()
+def logger_file(env_home):
+ return env_home.mkdir('qtip').mkdir('logs').join('{}.log'.format(MODULE))
+
+
+def console_expect_debug(content):
+ assert DEBUG_MSG in content
+
+
+def console_expect_nodebug(content):
+ assert DEBUG_MSG not in content
+
+
+@pytest.mark.parametrize('debug, console_expected', [
+ ('true', console_expect_debug),
+ ('false', console_expect_nodebug)])
+def test_logger(monkeypatch, capsys, logger_file, debug, console_expected):
+ monkeypatch.setenv('IF_DEBUG', debug)
+
+ log = logger.QtipLogger(MODULE).get
+ log.error(ERROR_MSG)
+ log.info(INFO_MSG)
+ log.debug(DEBUG_MSG)
+
+ file_print = logger_file.read()
+ assert ERROR_MSG in file_print
+ assert INFO_MSG in file_print
+ assert DEBUG_MSG in file_print
+
+ _, console_print = capsys.readouterr()
+
+ console_expected(console_print)