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