diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/cli/cmd_metric_test.py | 10 | ||||
-rw-r--r-- | tests/unit/cli/cmd_plan_test.py | 10 | ||||
-rw-r--r-- | tests/unit/cli/cmd_qpi_test.py | 10 | ||||
-rw-r--r-- | tests/unit/reporter/console_test.py | 29 | ||||
-rw-r--r-- | tests/unit/runner/runner_test.py | 16 | ||||
-rw-r--r-- | tests/unit/util/__init__.py | 0 | ||||
-rw-r--r-- | tests/unit/util/logger_test.py | 48 |
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) |