aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/data/helper/ansible.yaml12
-rw-r--r--tests/data/helper/perftest.yaml5
-rw-r--r--tests/data/helper/suite.yaml6
-rw-r--r--tests/data/helper/version.yaml12
-rw-r--r--tests/unit/cli/ansible_test.py31
-rw-r--r--tests/unit/cli/test_module.py30
6 files changed, 65 insertions, 31 deletions
diff --git a/tests/data/helper/ansible.yaml b/tests/data/helper/ansible.yaml
new file mode 100644
index 00000000..c55816fb
--- /dev/null
+++ b/tests/data/helper/ansible.yaml
@@ -0,0 +1,12 @@
+---
+
+ tests:
+ - command: ['ansible', 'prepare']
+ output: "prepare ansible env\n"
+
+ - command: ['ansible', 'show']
+ output: "show ansible configuration\n"
+
+ - command: ['ansible', 'status']
+ output: "check connectivity\n"
+
diff --git a/tests/data/helper/perftest.yaml b/tests/data/helper/perftest.yaml
new file mode 100644
index 00000000..26c58452
--- /dev/null
+++ b/tests/data/helper/perftest.yaml
@@ -0,0 +1,5 @@
+---
+
+ tests:
+ - command: ['perftest', 'run']
+ output: "Run a perftest\n"
diff --git a/tests/data/helper/suite.yaml b/tests/data/helper/suite.yaml
new file mode 100644
index 00000000..718ae440
--- /dev/null
+++ b/tests/data/helper/suite.yaml
@@ -0,0 +1,6 @@
+---
+
+ tests:
+ - command: ['suite', 'run']
+ output: "Run a suite\n"
+
diff --git a/tests/data/helper/version.yaml b/tests/data/helper/version.yaml
new file mode 100644
index 00000000..b23f16f2
--- /dev/null
+++ b/tests/data/helper/version.yaml
@@ -0,0 +1,12 @@
+---
+
+ tests:
+ - command: ['version', 'list']
+ output: "Lists all the different versions\n"
+
+ - command: ['version', 'install', 'Colorado']
+ output: "Install: Colorado\n"
+
+ - command: ['version', 'uninstall', 'Arno']
+ output: "Uninstall: Arno\n"
+
diff --git a/tests/unit/cli/ansible_test.py b/tests/unit/cli/ansible_test.py
deleted file mode 100644
index 02941333..00000000
--- a/tests/unit/cli/ansible_test.py
+++ /dev/null
@@ -1,31 +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
-##############################################################################
-
-import pytest
-from click.testing import CliRunner
-from qtip.cli.entry import cli
-
-
-class TestClass(object):
-
- @pytest.fixture()
- def runner(self):
- return CliRunner()
-
- def test_prepare(self, runner):
- result = runner.invoke(cli, ['ansible', 'prepare'])
- assert result.output == "prepare ansible env\n"
-
- def test_show(self, runner):
- result = runner.invoke(cli, ['ansible', 'show'])
- assert result.output == "show ansible configuration\n"
-
- def test_status(self, runner):
- result = runner.invoke(cli, ['ansible', 'status'])
- assert result.output == "check connectivity\n"
diff --git a/tests/unit/cli/test_module.py b/tests/unit/cli/test_module.py
new file mode 100644
index 00000000..822fa606
--- /dev/null
+++ b/tests/unit/cli/test_module.py
@@ -0,0 +1,30 @@
+import os
+import pytest
+import sys
+import yaml
+
+from click.testing import CliRunner
+from qtip.cli.entry import cli
+
+
+class TestClass(object):
+
+ @pytest.fixture()
+ def runner(self):
+ return CliRunner()
+
+ def test(self, runner):
+ unit = 'ansible'
+ test_file = 'data/helper/' + unit + '.yaml'
+ path = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, test_file)
+
+ with open(path) as trial:
+ content = trial.read()
+ data = yaml.safe_load(content)['tests']
+ if data is None:
+ print("Unit Test does not exist")
+ sys.exit(1)
+ else:
+ for i in range(0, len(data)):
+ result = runner.invoke(cli, data[i]['command'])
+ assert result.output == data[i]['output']