From c736e9a2cb38eecfb60bcf8ed93ee10a53ad1af7 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Thu, 12 Dec 2019 21:05:44 +0100 Subject: [PATCH] mock db access --- test/test_worker_utils.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test/test_worker_utils.py b/test/test_worker_utils.py index b62e9cb0..3add562c 100644 --- a/test/test_worker_utils.py +++ b/test/test_worker_utils.py @@ -1,6 +1,7 @@ """ tests of a few worker utilities """ +import contextlib import json import re @@ -20,20 +21,36 @@ def backend_db(): }).db -def test_build_interface_services(mocked_worker_module): + +@contextlib.contextmanager +def mocked_connection(ignored): + yield None + +def test_build_interface_services(mocker, mocked_worker_module): """ checks that valid interface service objects are created :param mocked_worker_module: fixture :return: """ + + def _mocked_get_service_users(cx, service_ids): + for id in service_ids: + yield {'service_id': id, 'user': 'AAAAA'} + yield {'service_id': id, 'user': 'BBBB'} + + mocker.patch('inventory_provider.db.db.connection', mocked_connection) + mocker.patch( + 'inventory_provider.db.opsdb.get_service_users', + _mocked_get_service_users) + ifc_schema = { '$schema': 'http://json-schema.org/draft-07/schema#', - 'type': 'object', 'properties': { 'description': {'type': 'string'}, 'router': {'type': 'string'}, - 'interface': {'type': 'string'} + 'interface': {'type': 'string'}, + 'user': {'type': 'string'} }, 'required': ['router', 'interface', 'description'], 'additionalProperties': False -- GitLab