diff options
author | zhihui wu <wu.zhihui1@zte.com.cn> | 2017-01-20 08:43:15 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-01-20 08:43:15 +0000 |
commit | e835a660789c2f152750308fa1eeb1b5e970a257 (patch) | |
tree | bf7367000116283d6c08f1692feb52dd86f7c7fa | |
parent | 0ee2dc70d7b58ffc929555d0c42f39d3cb4e8e69 (diff) | |
parent | 81aaf88e151694a08ff3d4cf4a7fe50df7232731 (diff) |
Merge "Metric module outline"
-rw-r--r-- | qtip/cli/commands/cmd_metric.py | 33 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_perftest.py | 58 | ||||
-rw-r--r-- | tests/unit/cli/test_metric.py | 28 |
3 files changed, 61 insertions, 58 deletions
diff --git a/qtip/cli/commands/cmd_metric.py b/qtip/cli/commands/cmd_metric.py new file mode 100644 index 00000000..7f5c18d3 --- /dev/null +++ b/qtip/cli/commands/cmd_metric.py @@ -0,0 +1,33 @@ +############################################################################## +# 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 +############################################################################## + +import click + +from qtip.cli.entry import Context + +pass_context = click.make_pass_decorator(Context, ensure=False) + + +@click.group() +@pass_context +def cli(ctx): + ''' Performance Metrics Group ''' + pass + + +@cli.command('list', help='List all the Metric Groups') +@pass_context +def cmd_list(ctx): + pass + + +@cli.command('run', help='Run tests to collect Performance Metrics') +@pass_context +def cmd_run(ctx): + pass diff --git a/qtip/cli/commands/cmd_perftest.py b/qtip/cli/commands/cmd_perftest.py deleted file mode 100644 index 129ee2d9..00000000 --- a/qtip/cli/commands/cmd_perftest.py +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################## -# 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 prettytable import PrettyTable -import yaml -import click -import os -from qtip.cli import helper - - -class PerfTest: - - def __init__(self): - self.path = os.path.join(helper.fetch_root(), 'perftest/summary') - - def list(self): - table = PrettyTable(["Name", "Description"]) - table.align = 'l' - with open(self.path) as tests: - line = tests.read() - data = yaml.safe_load(line)['test_cases'] - for i in range(0, len(data)): - points = data[i] - table.add_row([points['name'], points['description']]) - click.echo(table) - - def run(self): - click.echo("Run a perftest") - - -@click.group() -def cli(): - pass - - -@cli.group() -@click.pass_context -def perftest(ctx): - pass - - -_perftest = PerfTest() - - -@perftest.command("list", help="Lists all perftest benchmarks.") -def list(): - _perftest.list() - - -@perftest.command("run", help="Executes a single perftest benchmark.") -def execute(): - _perftest.run() diff --git a/tests/unit/cli/test_metric.py b/tests/unit/cli/test_metric.py new file mode 100644 index 00000000..ed10689c --- /dev/null +++ b/tests/unit/cli/test_metric.py @@ -0,0 +1,28 @@ +############################################################### +# 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 +############################################################################## + +import pytest +from click.testing import CliRunner + +from qtip.cli.commands.cmd_metric import cli + + +@pytest.fixture() +def runner(): + return CliRunner() + + +def test_list(runner): + result = runner.invoke(cli, ['list']) + assert result.output == '' + + +def test_run(runner): + result = runner.invoke(cli, ['run']) + assert result.output == '' |