diff --git a/test/test_celery_worker.py b/test/test_celery_worker.py
index 86113eb5b2be566a6dd26ab3b3a1bbabc83de733..7e882d7347335c1d2f7938e3fdd8ecddb6be4ef6 100644
--- a/test/test_celery_worker.py
+++ b/test/test_celery_worker.py
@@ -2,6 +2,7 @@
 just checks that the worker methods call the right functions
 and some data ends up in the right place ... otherwise not very detailed
 """
+import json
 import logging
 
 from lxml import etree
@@ -17,6 +18,12 @@ class MockedRedis(object):
         pass
 
     def hset(self, name, key, value):
+        assert isinstance(value, str)
+        if key == 'netconf':
+            etree.fromstring(value)
+        elif key == 'snmp-interfaces':
+            obj = json.loads(value)
+            assert isinstance(obj, dict)
         MockedRedis.db.setdefault(name, {})[key] = value
 
 
@@ -53,7 +60,7 @@ def test_snmp_refresh_interfaces(
         mocked_worker_module, mocker, cached_test_data):
 
     def _mocked_snmp_interfaces(hostname, community, _):
-        return cached_test_data[hostname]["snmp-interfaces"]
+        return json.loads(cached_test_data[hostname]["snmp-interfaces"])
 
     mocker.patch(
         'inventory_provider.tasks.worker.snmp.get_router_interfaces',