diff --git a/test/conftest.py b/test/conftest.py index 17fa67de0193e188c777f77c13ee9d7e4def792d..35b5f12224bc068329dd7138a5a8b6772ae4fb95 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -109,6 +109,26 @@ class MockedRedis(object): return None return value.encode('utf-8') + def delete(self, key): + if isinstance(key, bytes): + key = key.decode('utf-8') + del MockedRedis.db[key] + + def scan_iter(self, glob=None): + if not glob: + for k in MockedRedis.db.keys(): + yield k.encode('utf-8') + + m = re.match(r'^([^*]+)\*$', glob) + assert m # all expected globs are like this + for k in MockedRedis.db.keys(): + if k.startswith(m.group(1)): + yield k.encode('utf-8') + + def keys(self, glob=None): + return list(self.scan_iter(glob)) + + def keys(self, glob=None): if not glob: return list([k.encode("utf-8") for k in MockedRedis.db.keys()]) diff --git a/test/per_router/conftest.py b/test/per_router/conftest.py index 798252d3da84150a245a86161c948d9089fe7e2c..60d82aecf86ef4a4662b36302af19804742231ef 100644 --- a/test/per_router/conftest.py +++ b/test/per_router/conftest.py @@ -15,42 +15,6 @@ TEST_DATA_DIRNAME = os.path.realpath(os.path.join( "data")) -class MockedRedis(object): - - db = None - - 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()) - - def set(self, name, value): - MockedRedis.db[name] = value - - def get(self, name): - value = MockedRedis.db.get(name, None) - if value is None: - return None - return value.encode('utf-8') - - def keys(self, glob=None): - if not glob: - return list([k.encode("utf-8") for k in MockedRedis.db.keys()]) - m = re.match(r'^([^*]+)\*$', glob) - assert m # all expected global are like this - return list([ - k.encode("utf-8") for k in MockedRedis.db.keys() - if k.startswith(m.group(1))]) - - def delete(self, key): - if isinstance(key, bytes): - key = key.decode('utf-8') - del MockedRedis.db[key] - - @pytest.fixture def classifier_cache_test_entries(): filename = os.path.join( @@ -58,15 +22,6 @@ def classifier_cache_test_entries(): with open(filename) as f: return json.loads(f.read()) - -@pytest.fixture -def mocked_redis(mocker): - mocker.patch( - 'inventory_provider.tasks.common.redis.StrictRedis', - MockedRedis) - return MockedRedis() - - def pytest_generate_tests(metafunc): def _junosspace_hosts():