diff --git a/test/conftest.py b/test/conftest.py
index 748d607fdbe2bcbb3c8871f832bba3fdb7ee59a7..40c6a518d05884a0c5a627007e3e03e45171f0a6 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -158,3 +158,11 @@ def client_with_mocked_data(client, mocker):
         'inventory_provider.routes.common.redis.StrictRedis',
         MockedRedis)
     return client
+
+
+@pytest.fixture
+def mocked_redis(mocker):
+    mocker.patch(
+        'inventory_provider.routes.common.redis.StrictRedis',
+        MockedRedis)
+
diff --git a/test/test_junosspace_io.py b/test/test_junosspace_io.py
index 82c774ba0f4c7081cc5c471063dabb7a727d7dda..eb910fc496b086d4de3d44128e06e651f0e9e717 100644
--- a/test/test_junosspace_io.py
+++ b/test/test_junosspace_io.py
@@ -1,9 +1,11 @@
 import os
+import re
 
 import responses
 
 import inventory_provider
 from inventory_provider import juniper
+from inventory_provider.tasks import worker
 
 TEST_DATA_FILENAME = os.path.realpath(os.path.join(
     inventory_provider.__path__[0],
@@ -29,4 +31,15 @@ def test_junosspace_devices_parsing(data_config):
     # test for .re\d+ greediness
     assert 'mx1.ams.nl.geant.net' in hostnames
     # test that 'qfx1.fra.de' is parsed
-    assert 'qfx1.fra.de.geant.net' in hostnames
\ No newline at end of file
+    assert 'qfx1.fra.de.geant.net' in hostnames
+
+
+def test_router_hostname_derivation(mocked_redis):
+    config = {
+        'redis': {
+            'hostname': None,
+            'port': None
+        }
+    }
+    for hostname in worker._derive_router_hostnames(config):
+        assert re.match('^mx[\d].+\.geant\.net$', hostname)