Add tests for CLI script options 72/107972/1
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Wed, 20 May 2020 13:34:27 +0000 (06:34 -0700)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Wed, 20 May 2020 13:34:27 +0000 (06:34 -0700)
Change-Id: Iea4b353b37297e04b686d41b3494b00f61cfb9f3
Issue-ID: INT-1577
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
test/mocks/mass-pnf-sim/test_cli.py [new file with mode: 0644]
test/mocks/mass-pnf-sim/tox.ini

diff --git a/test/mocks/mass-pnf-sim/test_cli.py b/test/mocks/mass-pnf-sim/test_cli.py
new file mode 100644 (file)
index 0000000..e47b274
--- /dev/null
@@ -0,0 +1,47 @@
+import MassPnfSim
+import pytest
+
+@pytest.fixture(scope="module")
+def parser():
+    return MassPnfSim.get_parser()
+
+@pytest.mark.parametrize(('expect_string, cli_opts'), [
+    ("bootstrap: error: the following arguments are required: --urlves, --ipfileserver, --typefileserver, --ipstart",
+     ['bootstrap']),
+    ("bootstrap: error: argument --typefileserver: invalid choice: 'dummy' (choose from 'sftp', 'ftps')",
+     ['bootstrap', '--typefileserver', 'dummy']),
+    ("bootstrap: error: argument --urlves: invalid_url is not a valid URL",
+     ['bootstrap', '--urlves', 'invalid_url']),
+    ("bootstrap: error: argument --ipstart: x.x.x.x is not a valid IP address",
+     ['bootstrap', '--ipstart', 'x.x.x.x']),
+    ("trigger_custom: error: the following arguments are required: --triggerstart, --triggerend",
+     ['trigger_custom'])
+    ])
+def test_subcommands(parser, capsys, expect_string, cli_opts):
+    try:
+        parser.parse_args(cli_opts)
+    except SystemExit:
+        pass
+    assert expect_string in capsys.readouterr().err
+
+@pytest.mark.parametrize(("subcommand"), [
+    'bootstrap',
+    'start',
+    'stop',
+    'trigger',
+    'status'
+    ])
+def test_count_option(parser, capsys, subcommand):
+    try:
+        parser.parse_args([subcommand, '--count'])
+    except SystemExit:
+        pass
+    assert f"{subcommand}: error: argument --count: expected one argument" in capsys.readouterr().err
+
+def test_empty(parser, capsys):
+    try:
+        parser.parse_args([])
+    except SystemExit:
+        pass
+    assert '' is capsys.readouterr().err
+    assert '' is capsys.readouterr().out
index 98be4b6..7e7ba2c 100644 (file)
@@ -6,7 +6,7 @@ deps = pytest
 
 [testenv:pytest]
 basepython = python3
-commands = pytest
+commands = pytest -v
 
 [testenv:MassPnfSim-runtime]
 basepython = python3