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]