diff --git a/test/conftest.py b/test/conftest.py index 1a9764c389936b47d619020c8547f83933ac74da..6805738f2c643787761568ffbbb8be763c877550 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 5e628ce1cd537f0f8ad53e20beef357646a3d75f..46185b4dc9d8547f02732c0e143697bfdb4eb771 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'])