From f49a794584c8f5dcdd60ffc0ca65a559c441ca6c Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Sun, 23 Dec 2018 19:07:22 +0100 Subject: [PATCH] parameterized router hostnames --- test/conftest.py | 16 ++++++++++++++-- test/test_netconf_data.py | 7 ++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index 1a9764c3..6805738f 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -111,13 +111,17 @@ def data_config_filename(tmp_dir_name): return filename -@pytest.fixture -def data_config(): +def _tmp_data_config(): with tempfile.TemporaryDirectory() as tmpdir: with open(data_config_filename(tmpdir)) as f: return config.load(f) +@pytest.fixture +def data_config(): + return _tmp_data_config() + + @pytest.fixture def cached_test_data(): filename = os.path.join( @@ -145,3 +149,11 @@ def client(app_config): os.environ["SETTINGS_FILENAME"] = app_config with inventory_provider.create_app().test_client() as c: yield c + + +def pytest_generate_tests(metafunc): + params = _tmp_data_config() + metafunc.parametrize( + "router", + list([r['hostname'] for r in params['routers']]) + ) diff --git a/test/test_netconf_data.py b/test/test_netconf_data.py index 5e628ce1..46185b4d 100644 --- a/test/test_netconf_data.py +++ b/test/test_netconf_data.py @@ -23,12 +23,9 @@ class MockedJunosDevice(object): pass -def test_query_doc_and_validate(mocker, data_config): +def test_query_doc_and_validate(mocker, router, data_config): mocker.patch( 'inventory_provider.netconf.Device', MockedJunosDevice) - - for r in data_config['routers']: - doc = netconf.load_config(r['hostname'], data_config['ssh']) - + netconf.load_config(router, data_config['ssh']) -- GitLab