summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/cli/cmd_metric_test.py10
-rw-r--r--tests/unit/cli/cmd_plan_test.py10
-rw-r--r--tests/unit/cli/cmd_qpi_test.py10
-rw-r--r--tests/unit/reporter/console_test.py29
-rw-r--r--tests/unit/runner/runner_test.py16
-rw-r--r--tests/unit/util/__init__.py0
-rw-r--r--tests/unit/util/logger_test.py48
7 files changed, 120 insertions, 3 deletions
diff --git a/tests/unit/cli/cmd_metric_test.py b/tests/unit/cli/cmd_metric_test.py
index 239da96e..30f3448a 100644
--- a/tests/unit/cli/cmd_metric_test.py
+++ b/tests/unit/cli/cmd_metric_test.py
@@ -13,7 +13,7 @@ from click.testing import CliRunner
from qtip.cli.entry import cli
-@pytest.fixture()
+@pytest.fixture(scope="module")
def runner():
return CliRunner()
@@ -29,3 +29,11 @@ def test_run(runner):
result = runner.invoke(cli, ['metric', 'run'])
assert 'Missing argument "name".' in result.output
+
+
+def test_show(runner):
+ result = runner.invoke(cli, ['metric', 'show', 'fake-metric'])
+ assert result.output == ''
+
+ result = runner.invoke(cli, ['metric', 'show'])
+ assert 'Missing argument "name".' in result.output
diff --git a/tests/unit/cli/cmd_plan_test.py b/tests/unit/cli/cmd_plan_test.py
index 3ce3766e..1708c340 100644
--- a/tests/unit/cli/cmd_plan_test.py
+++ b/tests/unit/cli/cmd_plan_test.py
@@ -13,7 +13,7 @@ from click.testing import CliRunner
from qtip.cli.entry import cli
-@pytest.fixture()
+@pytest.fixture(scope="module")
def runner():
return CliRunner()
@@ -29,3 +29,11 @@ def test_run(runner):
result = runner.invoke(cli, ['plan', 'run'])
assert 'Missing argument "name".' in result.output
+
+
+def test_show(runner):
+ result = runner.invoke(cli, ['plan', 'show', 'fake-plan'])
+ assert result.output == ''
+
+ result = runner.invoke(cli, ['plan', 'show'])
+ assert 'Missing argument "name".' in result.output
diff --git a/tests/unit/cli/cmd_qpi_test.py b/tests/unit/cli/cmd_qpi_test.py
index 992c85d7..485d5462 100644
--- a/tests/unit/cli/cmd_qpi_test.py
+++ b/tests/unit/cli/cmd_qpi_test.py
@@ -13,7 +13,7 @@ from click.testing import CliRunner
from qtip.cli.entry import cli
-@pytest.fixture()
+@pytest.fixture(scope="module")
def runner():
return CliRunner()
@@ -29,3 +29,11 @@ def test_run(runner):
result = runner.invoke(cli, ['qpi', 'run'])
assert 'Missing argument "name".' in result.output
+
+
+def test_show(runner):
+ result = runner.invoke(cli, ['qpi', 'show', 'fake-qpi'])
+ assert result.output == ''
+
+ result = runner.invoke(cli, ['qpi', 'show'])
+ assert 'Missing argument "name".' in result.output
diff --git a/tests/unit/reporter/console_test.py b/tests/unit/reporter/console_test.py
new file mode 100644
index 00000000..8150239e
--- /dev/null
+++ b/tests/unit/reporter/console_test.py
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import pytest
+from qtip.reporter.console import ConsoleReporter
+
+
+@pytest.fixture
+def console_reporter():
+ return ConsoleReporter({})
+
+
+def test_constructor(console_reporter):
+ assert isinstance(console_reporter, ConsoleReporter)
+
+
+def test_render(console_reporter):
+ var_dict = {
+ 'title': 'fake title',
+ 'description': 'fake description'
+ }
+ output = console_reporter.render(var_dict=var_dict)
+ assert output == 'fake title: fake description'
diff --git a/tests/unit/runner/runner_test.py b/tests/unit/runner/runner_test.py
new file mode 100644
index 00000000..b7da1611
--- /dev/null
+++ b/tests/unit/runner/runner_test.py
@@ -0,0 +1,16 @@
+##############################################################################
+# Copyright (c) 2016 ZTE Corp and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+from qtip.runner.base import BaseRunner
+
+
+def test_constructor():
+ runner = BaseRunner()
+ assert isinstance(runner, BaseRunner)
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)