diff --git a/test/test_worker_utils.py b/test/test_worker_utils.py index 73e2741966ba7dae4a83a4dea7d09c17f7dc0547..d0228efddb90c16099b59922c6868b566195944c 100644 --- a/test/test_worker_utils.py +++ b/test/test_worker_utils.py @@ -226,3 +226,24 @@ def test_build_snmp_peering_db(mocked_worker_module): found_record = True assert found_record + + +def test_update_interfaces_to_services(mocker, mocked_worker_module): + test_data = [ + {'equipment': 'eqa', 'interface_name': 'ifca', 'x': 99}, + {'equipment': 'eqb', 'interface_name': 'ifcb', 'z': {'a': 1}} + ] + + get_circuits = mocker.patch('inventory_provider.db.opsdb.get_circuits') + get_circuits.return_value = test_data + + db = backend_db() # also forces initialization + db.clear() + + worker.update_interfaces_to_services() + + for service in test_data: + key = 'opsdb:interface_services:{equipment}:{interface_name}'.format( + **service) + cached_service = json.loads(db[key]) + assert cached_service == [service]