From ffd1e45df913b30d0ff53fc3130d3375d221457f Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Tue, 11 Dec 2018 14:54:18 +0100
Subject: [PATCH] first celery worker test

---
 test/test_celery_worker.py | 58 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 test/test_celery_worker.py

diff --git a/test/test_celery_worker.py b/test/test_celery_worker.py
new file mode 100644
index 00000000..0c0c8617
--- /dev/null
+++ b/test/test_celery_worker.py
@@ -0,0 +1,58 @@
+import logging
+
+import pytest
+
+from inventory_provider.tasks import worker
+
+
+class MockedRedis(object):
+
+    db = {}
+
+    def __init__(self, *args, **kwargs):
+        pass
+
+    # def set(self, key, value):
+    #     MockedRedis.db[key] = value
+
+    def hset(self, name, key, value):
+        MockedRedis.db.setdefault(name, {})[key] = value
+
+    # def hget(self, key, field):
+    #     value = MockedRedis.db[key]
+    #     return json.dumps(value[field]).encode('utf-8')
+    #
+    # def hgetall(self, key):
+    #     result = {}
+    #     for k, v in MockedRedis.db[key].items():
+    #         result[k.encode('utf-8')] \
+    #             = json.dumps(v).encode('utf-8')
+    #     return result
+    #
+    # def keys(self, *args, **kwargs):
+    #     return list([k.encode("utf-8") for k in MockedRedis.db.keys()])
+
+
+@pytest.fixture
+def mocked_worker_module(mocker, data_config):
+
+    worker.InventoryTask.config = data_config
+    worker.InventoryTask.logger = logging.getLogger()
+
+    mocker.patch(
+        'inventory_provider.tasks.worker.redis.StrictRedis',
+        MockedRedis)
+
+
+def test_juniper_refresh_bgp(mocked_worker_module, mocker, cached_test_data):
+
+    def _mocked_fetch_bpg_config(hostname, _):
+        return cached_test_data[hostname]["bgp"]
+
+    mocker.patch(
+        'inventory_provider.tasks.worker.juniper.fetch_bgp_config',
+        _mocked_fetch_bpg_config)
+
+    for hostname in cached_test_data.keys():
+        worker.juniper_refresh_bgp(hostname)
+
-- 
GitLab