diff options
author | Bartek Grzybowski <b.grzybowski@partner.samsung.com> | 2020-05-25 03:10:39 -0700 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2020-05-25 14:06:11 +0000 |
commit | 5196e3367b316faeb8b6b7d5204333e55e4ea61d (patch) | |
tree | 4bf5f7d6a970fd87d5684d39aa65ed4dc762556d | |
parent | 5ca49c964c385b8277c7e9bf0f344f8cbc3c2602 (diff) |
Add tests for 'trigger_custom' subcommand
Change-Id: I7a2811618adcaaa698a702d264ef2a93bc899704
Issue-ID: INT-1577
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
-rw-r--r-- | test/mocks/mass-pnf-sim/conftest.py | 4 | ||||
-rw-r--r-- | test/mocks/mass-pnf-sim/test_cli.py | 12 | ||||
-rw-r--r-- | test/mocks/mass-pnf-sim/test_lifecycle.py | 11 |
3 files changed, 27 insertions, 0 deletions
diff --git a/test/mocks/mass-pnf-sim/conftest.py b/test/mocks/mass-pnf-sim/conftest.py index b1f688d17..b5502f304 100644 --- a/test/mocks/mass-pnf-sim/conftest.py +++ b/test/mocks/mass-pnf-sim/conftest.py @@ -28,3 +28,7 @@ def args_status(parser): @pytest.fixture(scope="module") def args_trigger(parser): return parser.parse_args(['trigger']) + +@pytest.fixture(scope="module") +def args_trigger_custom(parser): + return parser.parse_args(['trigger_custom', '--triggerstart', '0', '--triggerend', str(SIM_INSTANCES-1)]) diff --git a/test/mocks/mass-pnf-sim/test_cli.py b/test/mocks/mass-pnf-sim/test_cli.py index bc4d276ed..f574a725d 100644 --- a/test/mocks/mass-pnf-sim/test_cli.py +++ b/test/mocks/mass-pnf-sim/test_cli.py @@ -1,4 +1,6 @@ import pytest +from MassPnfSim import MassPnfSim +from test_settings import SIM_INSTANCES @pytest.mark.parametrize(('expect_string, cli_opts'), [ ("bootstrap: error: the following arguments are required: --urlves, --ipfileserver, --typefileserver, --ipstart", @@ -19,6 +21,16 @@ def test_subcommands(parser, capsys, expect_string, cli_opts): pass assert expect_string in capsys.readouterr().err +def test_validate_trigger_custom(parser, caplog): + args = parser.parse_args(['trigger_custom', '--triggerstart', '0', + '--triggerend', str(SIM_INSTANCES)]) + try: + MassPnfSim(args).trigger_custom() + except SystemExit as e: + assert e.code == 1 + assert "--triggerend value greater than existing instance count" in caplog.text + caplog.clear() + @pytest.mark.parametrize(("subcommand"), [ 'bootstrap', 'start', diff --git a/test/mocks/mass-pnf-sim/test_lifecycle.py b/test/mocks/mass-pnf-sim/test_lifecycle.py index 5eaa40946..1ae696c84 100644 --- a/test/mocks/mass-pnf-sim/test_lifecycle.py +++ b/test/mocks/mass-pnf-sim/test_lifecycle.py @@ -94,3 +94,14 @@ def test_trigger_idempotence(args_trigger, capfd): msg = capfd.readouterr() assert "Cannot start simulator since it's already running" in msg.out assert 'Simulator started' not in msg.out + +def test_trigger_custom(args_trigger_custom, caplog, capfd): + MassPnfSim(args_trigger_custom).trigger_custom() + msg = capfd.readouterr() + for instance in range(SIM_INSTANCES): + instance_ip_offset = instance * 16 + ip_offset = 2 + assert f'Triggering pnf-sim-lw-{instance} instance:' in caplog.text + assert f'PNF-Sim IP: {str(ip_address(IPSTART) + ip_offset + instance_ip_offset)}' in msg.out + assert 'Simulator started' not in msg.out + assert "Cannot start simulator since it's already running" in msg.out |