QPI Module Outline 49/27249/3
authorTaseer Ahmed <taseer94@gmail.com>
Mon, 9 Jan 2017 15:53:37 +0000 (20:53 +0500)
committerTaseer Ahmed <taseer94@gmail.com>
Sat, 21 Jan 2017 08:18:10 +0000 (13:18 +0500)
Change-Id: I19b666dfdb3e3c10622397bda00460d6fb5c269d
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
qtip/cli/commands/cmd_qpi.py [new file with mode: 0644]
qtip/cli/commands/cmd_suite.py [deleted file]
tests/unit/cli/test_qpi.py [new file with mode: 0644]

diff --git a/qtip/cli/commands/cmd_qpi.py b/qtip/cli/commands/cmd_qpi.py
new file mode 100644 (file)
index 0000000..f33f010
--- /dev/null
@@ -0,0 +1,35 @@
+##############################################################################
+# 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):
+    ''' Collection of performance tests '''
+    pass
+
+
+@cli.command('list', help='List all the QPI specs')
+@pass_context
+def cmd_list(ctx):
+    pass
+
+
+@cli.command('run', help='Run performance tests for the specified QPI')
+@click.argument('name')
+@pass_context
+def run(ctx, name):
+    pass
diff --git a/qtip/cli/commands/cmd_suite.py b/qtip/cli/commands/cmd_suite.py
deleted file mode 100644 (file)
index 45c739d..0000000
+++ /dev/null
@@ -1,54 +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 os
-import click
-from qtip.cli import helper
-
-
-class Suite:
-
-    def __init__(self):
-        self.path = os.path.join(helper.fetch_root(), 'suite')
-
-    def list(self):
-        table = PrettyTable(["Name"])
-        table.align = 'l'
-        suites = os.listdir(self.path)
-        for suite in suites:
-            table.add_row([suite])
-        click.echo(table)
-
-    def run(self):
-        print("Run a suite")
-
-
-@click.group()
-def cli():
-    pass
-
-
-@cli.group()
-@click.pass_context
-def suite(ctx):
-    pass
-
-
-_suite = Suite()
-
-
-@suite.command("list", help="Lists all the available suites")
-def list():
-    _suite.list()
-
-
-@suite.command("run", help="Execute one complete suite")
-def execute():
-    _suite.run()
diff --git a/tests/unit/cli/test_qpi.py b/tests/unit/cli/test_qpi.py
new file mode 100644 (file)
index 0000000..992c85d
--- /dev/null
@@ -0,0 +1,31 @@
+###############################################################
+# 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.entry import cli
+
+
+@pytest.fixture()
+def runner():
+    return CliRunner()
+
+
+def test_list(runner):
+    result = runner.invoke(cli, ['qpi', 'list'])
+    assert result.output == ''
+
+
+def test_run(runner):
+    result = runner.invoke(cli, ['qpi', 'run', 'fake-qpi'])
+    assert result.output == ''
+
+    result = runner.invoke(cli, ['qpi', 'run'])
+    assert 'Missing argument "name".' in result.output