Remove outdated doc for A1 Adaptor
[integration.git] / test / mocks / masspnfsim / test_cli.py
1 import pytest
2 from MassPnfSim import MassPnfSim
3 from test_settings import SIM_INSTANCES
4
5 @pytest.mark.parametrize(('expect_string, cli_opts'), [
6     ("bootstrap: error: the following arguments are required: --urlves, --ipfileserver, --typefileserver, " +\
7      "--user, --password, --ipstart",
8      ['bootstrap']),
9     ("bootstrap: error: argument --typefileserver: invalid choice: 'dummy' (choose from 'sftp', 'ftps')",
10      ['bootstrap', '--typefileserver', 'dummy']),
11     ("bootstrap: error: argument --urlves: invalid_url is not a valid URL",
12      ['bootstrap', '--urlves', 'invalid_url']),
13     ("bootstrap: error: argument --ipstart: x.x.x.x is not a valid IP address",
14      ['bootstrap', '--ipstart', 'x.x.x.x']),
15     ("trigger_custom: error: the following arguments are required: --triggerstart, --triggerend",
16      ['trigger_custom'])
17     ])
18 def test_subcommands(parser, capsys, expect_string, cli_opts):
19     try:
20         parser.parse_args(cli_opts)
21     except SystemExit:
22         pass
23     assert expect_string in capsys.readouterr().err
24
25 def test_validate_trigger_custom(parser, caplog):
26     args = parser.parse_args(['trigger_custom', '--triggerstart', '0',
27                              '--triggerend', str(SIM_INSTANCES)])
28     try:
29         MassPnfSim().trigger_custom(args)
30     except SystemExit as e:
31         assert e.code == 1
32     assert "--triggerend value greater than existing instance count" in caplog.text
33     caplog.clear()
34
35 @pytest.mark.parametrize(("subcommand"), [
36     'bootstrap',
37     'start',
38     'stop',
39     'trigger',
40     'status',
41     'stop_simulator'
42     ])
43 def test_count_option(parser, capsys, subcommand):
44     '''Test case where no arg passed to '--count' opt'''
45     try:
46         parser.parse_args([subcommand, '--count'])
47     except SystemExit:
48         pass
49     assert f"{subcommand}: error: argument --count: expected one argument" in capsys.readouterr().err
50
51 @pytest.mark.parametrize(("subcommand"), [
52     'start',
53     'stop',
54     'trigger',
55     'status',
56     'stop_simulator'
57     ])
58 def test_count_option_bad_value(parser, caplog, subcommand):
59     '''Test case where invalid value passed to '--count' opt'''
60     try:
61         args = parser.parse_args([subcommand, '--count', str(SIM_INSTANCES + 1)])
62         m = getattr(MassPnfSim(), subcommand)
63         m(args)
64     except SystemExit:
65         pass
66     assert '--count value greater that existing instance count' in caplog.text
67     caplog.clear()
68
69 def test_empty(parser, capsys):
70     try:
71         parser.parse_args([])
72     except SystemExit:
73         pass
74     assert '' is capsys.readouterr().err
75     assert '' is capsys.readouterr().out