diff --git a/test/test_worker_utils.py b/test/test_worker_utils.py index 198bc43b2591fe5f40eb381c9763adcaf73a939f..f877632877e4434d99c24cca2b8c5931e643feea 100644 --- a/test/test_worker_utils.py +++ b/test/test_worker_utils.py @@ -11,6 +11,7 @@ import jsonschema from inventory_provider.tasks import worker from inventory_provider.tasks import common from inventory_provider.routes import msr +from inventory_provider import config def backend_db(): @@ -23,7 +24,7 @@ def backend_db(): }).db -def test_build_subnet_db(mocked_worker_module): +def test_build_subnet_db(mocked_worker_module, data_config_filename): """ Verify that valid reverse subnet objects are created. @@ -52,6 +53,16 @@ def test_build_subnet_db(mocked_worker_module): 'items': {"$ref": "#/definitions/interface"}, } + all_subnet_interfaces = set() + unmanaged_interfaces = set() + with open(data_config_filename) as f: + params = config.load(f) + for ifc in params.get('unmanaged-interfaces', []): + ifc_key = (f'{ifc["router"].lower()}' + f':{ifc["interface"].lower()}' + f':{ifc["network"]}') + unmanaged_interfaces.add(ifc_key) + db = backend_db() # also forces initialization def _x(k): @@ -80,8 +91,17 @@ def test_build_subnet_db(mocked_worker_module): for ifc in value: assert ifc['interface address'] == address + ifc_key = (f'{ifc["router"]}' + f':{ifc["interface name"]}' + f':{ifc["interface address"]}') + + all_subnet_interfaces.add(ifc_key) + assert found_record + assert unmanaged_interfaces <= all_subnet_interfaces + + def test_build_juniper_peering_db(mocked_worker_module): """