diff --git a/test/conftest.py b/test/conftest.py
index 3c926d2e57682a774bb894712256f8e4140dc6f4..0e8298c7d1251c469e8e598b262823d57beed609 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -80,29 +80,33 @@ class MockedRedis(object):
 
     def __init__(self, *args, **kwargs):
         if MockedRedis.db is None:
-            test_data_filename = os.path.join(
-                TEST_DATA_DIRNAME,
-                "router-info.json")
-            with open(test_data_filename) as f:
-                MockedRedis.db = json.loads(f.read())
-                MockedRedis.db['db:latch'] = json.dumps({
-                    'current': 0,
-                    'next': 0,
-                    'this': 0,
-                    'pending': False,
-                    'failure': False
-                })
-
-                # remove any cached data from the captured snapshot
-                def _is_cache(s):
-                    if s.startswith('classifier-cache'):
-                        return True
-                    if s.startswith('joblog'):
-                        return True
-                    return False
-                keys_to_delete = filter(_is_cache, MockedRedis.db.keys())
-                for k in list(keys_to_delete):
-                    del MockedRedis.db[k]
+            MockedRedis.prep()
+
+    @staticmethod
+    def prep(data_source_file="router-info.json"):
+        test_data_filename = os.path.join(
+            TEST_DATA_DIRNAME,
+            data_source_file)
+        with open(test_data_filename) as f:
+            MockedRedis.db = json.loads(f.read())
+            MockedRedis.db['db:latch'] = json.dumps({
+                'current': 0,
+                'next': 0,
+                'this': 0,
+                'pending': False,
+                'failure': False
+            })
+
+            # remove any cached data from the captured snapshot
+            def _is_cache(s):
+                if s.startswith('classifier-cache'):
+                    return True
+                if s.startswith('joblog'):
+                    return True
+                return False
+            keys_to_delete = filter(_is_cache, MockedRedis.db.keys())
+            for k in list(keys_to_delete):
+                del MockedRedis.db[k]
 
     def set(self, name, value):
         MockedRedis.db[name] = value
@@ -174,6 +178,22 @@ def client(flask_config_filename, data_config_filename, mocked_redis):
     with inventory_provider.create_app().test_client() as c:
         yield c
 
+
+@pytest.fixture
+def mocked_ims_redis(mocker):
+    MockedRedis.prep("router-info-ims.json")
+    mocker.patch(
+        'inventory_provider.tasks.common.redis.StrictRedis',
+        MockedRedis)
+
+
+@pytest.fixture
+def ims_client(flask_config_filename, data_config_filename, mocked_ims_redis):
+    os.environ['FLASK_SETTINGS_FILENAME'] = flask_config_filename
+    os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'] = data_config_filename
+    with inventory_provider.create_app().test_client() as c:
+        yield c
+
 #
 # @pytest.fixture
 # def client(client, mocked_redis):