diff options
Diffstat (limited to 'tests/unit/loader')
-rw-r--r-- | tests/unit/loader/plan_test.py | 15 | ||||
-rw-r--r-- | tests/unit/loader/yaml_file_test.py | 33 |
2 files changed, 44 insertions, 4 deletions
diff --git a/tests/unit/loader/plan_test.py b/tests/unit/loader/plan_test.py index 32837f8f..4872b4cd 100644 --- a/tests/unit/loader/plan_test.py +++ b/tests/unit/loader/plan_test.py @@ -9,12 +9,15 @@ import pytest -from qtip.base.constant import PlanProp -from qtip.loader.plan import Plan, QPISpec +from qtip.collector.logfile import LogfileCollector +from qtip.loader.plan import load_collector +from qtip.loader.plan import Plan +from qtip.loader.plan import PlanProp +from qtip.loader.plan import QPISpec def test_init(plan): - assert plan.name == 'fake plan' + assert plan.name == 'doctor performance profiling' assert isinstance(plan.content, dict) for qpi in plan.qpis: assert isinstance(qpi, QPISpec) @@ -27,7 +30,7 @@ def test_init(plan): def test_list_all(benchmarks_root): plan_list = Plan.list_all(paths=[benchmarks_root]) - assert len(list(plan_list)) is 2 + assert len(list(plan_list)) is 1 for desc in plan_list: assert PlanProp.NAME in desc assert PlanProp.CONTENT in desc @@ -41,3 +44,7 @@ def test_content(plan): assert PlanProp.DESCRIPTION in content assert PlanProp.CONFIG in content assert PlanProp.QPIS in content + + +def test_load_collector(): + assert load_collector(LogfileCollector.TYPE) is LogfileCollector diff --git a/tests/unit/loader/yaml_file_test.py b/tests/unit/loader/yaml_file_test.py new file mode 100644 index 00000000..17836946 --- /dev/null +++ b/tests/unit/loader/yaml_file_test.py @@ -0,0 +1,33 @@ +############################################################################## +# Copyright (c) 2017 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 +############################################################################## + +import os +import pytest + +from qtip.base.error import InvalidContent +from qtip.loader.yaml_file import YamlFileLoader + + +@pytest.fixture +def yaml_root(data_root): + return os.path.join(data_root, 'yaml') + + +@pytest.mark.parametrize('filename, expected', [ + ('with_name.yaml', 'name in content'), + ('without_name.yaml', 'without_name')]) +def test_init(yaml_root, filename, expected): + loader = YamlFileLoader(filename, [yaml_root]) + assert loader.name == expected + + +def test_invalid_content(yaml_root): + with pytest.raises(InvalidContent) as excinfo: + YamlFileLoader('invalid.yaml', [yaml_root]) + assert 'invalid.yaml' in excinfo.value.filename |