Skip to content
Snippets Groups Projects
Commit 3deb6d5b authored by Erik Reid's avatar Erik Reid
Browse files

added tests for the remaining worker procs

parent ffd1e45d
No related branches found
No related tags found
No related merge requests found
"""
just checks that the worker methods call the right functions
and some data ends up in the right place ... otherwise not very detailed
"""
import logging
import pytest
from inventory_provider.tasks import worker
......@@ -12,26 +14,9 @@ class MockedRedis(object):
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):
......@@ -39,6 +24,8 @@ def mocked_worker_module(mocker, data_config):
worker.InventoryTask.config = data_config
worker.InventoryTask.logger = logging.getLogger()
MockedRedis.db = {}
mocker.patch(
'inventory_provider.tasks.worker.redis.StrictRedis',
MockedRedis)
......@@ -54,5 +41,52 @@ def test_juniper_refresh_bgp(mocked_worker_module, mocker, cached_test_data):
_mocked_fetch_bpg_config)
for hostname in cached_test_data.keys():
assert 'hostname' not in MockedRedis.db
worker.juniper_refresh_bgp(hostname)
assert MockedRedis.db[hostname]['bgp']
def test_juniper_refresh_interfaces(mocked_worker_module, mocker, cached_test_data):
def _mocked_fetch_interfaces(hostname, _):
return cached_test_data[hostname]["interfaces"]
mocker.patch(
'inventory_provider.tasks.worker.juniper.fetch_interfaces',
_mocked_fetch_interfaces)
for hostname in cached_test_data.keys():
assert 'hostname' not in MockedRedis.db
worker.juniper_refresh_interfaces(hostname)
assert MockedRedis.db[hostname]['interfaces']
def test_juniper_refresh_vrr(mocked_worker_module, mocker, cached_test_data):
def _mocked_fetch_vrr_config(hostname, _):
return cached_test_data[hostname]["vrr"]
mocker.patch(
'inventory_provider.tasks.worker.juniper.fetch_vrr_config',
_mocked_fetch_vrr_config)
for hostname in cached_test_data.keys():
assert 'hostname' not in MockedRedis.db
worker.juniper_refresh_vrr(hostname)
assert MockedRedis.db[hostname]['vrr']
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"]
mocker.patch(
'inventory_provider.tasks.worker.snmp.get_router_interfaces',
_mocked_snmp_interfaces)
for hostname in cached_test_data.keys():
assert 'hostname' not in MockedRedis.db
worker.snmp_refresh_interfaces(hostname, 'fake-community')
assert MockedRedis.db[hostname]['snmp-interfaces']
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment