SEBA-405 Cleanup synchronizer imports of model_accessor to globals;
Move mock modelaccessor to /tmp;
Easier mock modelaccessor configuration
Change-Id: I67a17b9a72ea69f61d92206f1b520a11c2f18d80
diff --git a/lib/xos-synchronizer/tests/event_steps/event_step.py b/lib/xos-synchronizer/tests/event_steps/event_step.py
index 601b8df..d04f5a5 100644
--- a/lib/xos-synchronizer/tests/event_steps/event_step.py
+++ b/lib/xos-synchronizer/tests/event_steps/event_step.py
@@ -22,8 +22,8 @@
topics = ["sometopic"]
pattern = None
- def __init__(self, log, *args, **kwargs):
- super(TestEventStep, self).__init__(log, *args, **kwargs)
+ def __init__(self, model_accessor, log, *args, **kwargs):
+ super(TestEventStep, self).__init__(model_accessor, log, *args, **kwargs)
def process_event(self, event):
print("received an event", event)
diff --git a/lib/xos-synchronizer/tests/steps/sync_container.py b/lib/xos-synchronizer/tests/steps/sync_container.py
index baf108f..8cbabcb 100644
--- a/lib/xos-synchronizer/tests/steps/sync_container.py
+++ b/lib/xos-synchronizer/tests/steps/sync_container.py
@@ -21,7 +21,6 @@
import time
from xossynchronizer.steps.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
from xossynchronizer.steps.syncstep import DeferredException
-from xossynchronizer.mock_modelaccessor import *
# hpclibrary will be in steps/..
parentdir = os.path.join(os.path.dirname(__file__), "..")
@@ -29,19 +28,18 @@
class SyncContainer(SyncInstanceUsingAnsible):
- provides = [Instance]
- observes = Instance
+ observes = "Instance"
template_name = "sync_container.yaml"
def __init__(self, *args, **kwargs):
super(SyncContainer, self).__init__(*args, **kwargs)
def fetch_pending(self, deletion=False):
- i = Instance()
+ i = self.model_accessor.Instance()
i.name = "Spectacular Sponge"
- j = Instance()
+ j = self.model_accessor.Instance()
j.name = "Spontaneous Tent"
- k = Instance()
+ k = self.model_accessor.Instance()
k.name = "Embarrassed Cat"
objs = [i, j, k]
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_images.py b/lib/xos-synchronizer/tests/steps/sync_controller_images.py
index 84a43b1..ef85983 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_images.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_images.py
@@ -16,17 +16,15 @@
import os
import base64
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerImages(SyncStep):
- provides = [ControllerImages]
- observes = ControllerImages
+ observes = "ControllerImages"
requested_interval = 0
playbook = "sync_controller_images.yaml"
def fetch_pending(self, deleted):
- ci = ControllerImages()
- i = Image()
+ ci = self.model_accessor.ControllerImages()
+ i = self.model_accessor.Image()
i.name = "Lush Loss"
ci.i = i
return [ci]
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_networks.py b/lib/xos-synchronizer/tests/steps/sync_controller_networks.py
index 1133545..55dfe4e 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_networks.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_networks.py
@@ -19,20 +19,18 @@
import socket
from netaddr import IPAddress, IPNetwork
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerNetworks(SyncStep):
requested_interval = 0
- provides = [Network]
- observes = ControllerNetwork
- external_dependencies = [User]
+ observes = "ControllerNetwork"
+ external_dependencies = ["User"]
playbook = "sync_controller_networks.yaml"
def fetch_pending(self, deleted):
- ci = ControllerNetwork()
- i = Network()
+ ci = self.model_accessor.ControllerNetwork()
+ i = self.model_accessor.Network()
i.name = "Lush Loss"
- s = Slice()
+ s = self.model_accessor.Slice()
s.name = "Ghastly Notebook"
i.owner = s
ci.i = i
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_site_privileges.py b/lib/xos-synchronizer/tests/steps/sync_controller_site_privileges.py
index 65d3985..e286ef8 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_site_privileges.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_site_privileges.py
@@ -17,12 +17,10 @@
import base64
import json
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerSitePrivileges(SyncStep):
- provides = [SitePrivilege]
requested_interval = 0
- observes = ControllerSitePrivilege
+ observes = "ControllerSitePrivilege"
playbook = "sync_controller_users.yaml"
def map_sync_inputs(self, controller_site_privilege):
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_sites.py b/lib/xos-synchronizer/tests/steps/sync_controller_sites.py
index 509a45c..24aa76f 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_sites.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_sites.py
@@ -17,12 +17,10 @@
import base64
import json
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerSites(SyncStep):
requested_interval = 0
- provides = [Site]
- observes = ControllerSite
+ observes = "ControllerSite"
playbook = "sync_controller_sites.yaml"
def fetch_pending(self, deleted=False):
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_slice_privileges.py b/lib/xos-synchronizer/tests/steps/sync_controller_slice_privileges.py
index ec0667c..09b63e6 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_slice_privileges.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_slice_privileges.py
@@ -17,12 +17,10 @@
import base64
import json
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerSlicePrivileges(SyncStep):
- provides = [SlicePrivilege]
requested_interval = 0
- observes = ControllerSlicePrivilege
+ observes = "ControllerSlicePrivilege"
playbook = "sync_controller_users.yaml"
def map_sync_inputs(self, controller_slice_privilege):
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_slices.py b/lib/xos-synchronizer/tests/steps/sync_controller_slices.py
index 0f43bad..31c62f1 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_slices.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_slices.py
@@ -15,13 +15,12 @@
import os
import base64
-from xossynchronizer.steps.syncstep import SyncStep, DeferredException
-from xossynchronizer.mock_modelaccessor import *
+from xossynchronizer.steps.syncstep import DeferredException
+from xossynchronizer.steps.ansiblesyncstep import AnsibleSyncStep
-class SyncControllerSlices(SyncStep):
- provides = [Slice]
+class SyncControllerSlices(AnsibleSyncStep):
requested_interval = 0
- observes = ControllerSlice
+ observes = "ControllerSlice"
playbook = "sync_controller_slices.yaml"
def map_sync_inputs(self, controller_slice):
diff --git a/lib/xos-synchronizer/tests/steps/sync_controller_users.py b/lib/xos-synchronizer/tests/steps/sync_controller_users.py
index 881e78a..a039257 100644
--- a/lib/xos-synchronizer/tests/steps/sync_controller_users.py
+++ b/lib/xos-synchronizer/tests/steps/sync_controller_users.py
@@ -16,13 +16,11 @@
import os
import base64
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncControllerUsers(SyncStep):
- provides = [User]
requested_interval = 0
- observes = ControllerUser
+ observes = "ControllerUser"
playbook = "sync_controller_users.yaml"
def map_sync_inputs(self, controller_user):
diff --git a/lib/xos-synchronizer/tests/steps/sync_images.py b/lib/xos-synchronizer/tests/steps/sync_images.py
index 2284ed2..b3ed9bd 100644
--- a/lib/xos-synchronizer/tests/steps/sync_images.py
+++ b/lib/xos-synchronizer/tests/steps/sync_images.py
@@ -13,15 +13,11 @@
# limitations under the License.
-import os
-import base64
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncImages(SyncStep):
- provides = [Image]
requested_interval = 0
- observes = [Image]
+ observes = ["Image"]
def sync_record(self, role):
# do nothing
diff --git a/lib/xos-synchronizer/tests/steps/sync_instances.py b/lib/xos-synchronizer/tests/steps/sync_instances.py
index 479b87d..1a70884 100644
--- a/lib/xos-synchronizer/tests/steps/sync_instances.py
+++ b/lib/xos-synchronizer/tests/steps/sync_instances.py
@@ -14,13 +14,7 @@
import os
-import base64
-import socket
-from xossynchronizer.steps import syncstep
-from xossynchronizer.mock_modelaccessor import *
-
-RESTAPI_HOSTNAME = socket.gethostname()
-RESTAPI_PORT = "8000"
+from xossynchronizer.steps import ansiblesyncstep
def escape(s):
@@ -28,10 +22,10 @@
return s
-class SyncInstances(syncstep.SyncStep):
- provides = [Instance]
+class SyncInstances(ansiblesyncstep.AnsibleSyncStep):
requested_interval = 0
- observes = Instance
+ # This observes is intentionally a list of one string, to test steps where observes is a list of strings.
+ observes = ["Instance"]
playbook = "sync_instances.yaml"
def fetch_pending(self, deletion=False):
diff --git a/lib/xos-synchronizer/tests/steps/sync_ports.py b/lib/xos-synchronizer/tests/steps/sync_ports.py
index 77209a5..a7eb7d1 100644
--- a/lib/xos-synchronizer/tests/steps/sync_ports.py
+++ b/lib/xos-synchronizer/tests/steps/sync_ports.py
@@ -16,13 +16,13 @@
import os
import base64
from xossynchronizer.steps.syncstep import SyncStep
-from xossynchronizer.mock_modelaccessor import *
class SyncPort(SyncStep):
- requested_interval = 0 # 3600
- provides = [Port]
- observes = Port
+ requested_interval = 0
+
+ # This observes is intentionally a string, to test steps where observes is a string
+ observes = "Port"
def call(self, failed=[], deletion=False):
if deletion:
diff --git a/lib/xos-synchronizer/tests/steps/sync_roles.py b/lib/xos-synchronizer/tests/steps/sync_roles.py
index e8b1364..7298a64 100644
--- a/lib/xos-synchronizer/tests/steps/sync_roles.py
+++ b/lib/xos-synchronizer/tests/steps/sync_roles.py
@@ -20,8 +20,9 @@
class SyncRoles(SyncStep):
- provides = [Role]
requested_interval = 0
+
+ # This observes is intentionally a list of three classes, to test steps where observes is a list of classes.
observes = [SiteRole, SliceRole, ControllerRole]
def sync_record(self, role):
diff --git a/lib/xos-synchronizer/tests/test_event_engine.py b/lib/xos-synchronizer/tests/test_event_engine.py
index 13972c6..a09b3d0 100644
--- a/lib/xos-synchronizer/tests/test_event_engine.py
+++ b/lib/xos-synchronizer/tests/test_event_engine.py
@@ -128,6 +128,8 @@
build_mock_modelaccessor(sync_lib_dir, xos_dir, services_dir=None, service_xprotos=[])
+ from xossynchronizer.modelaccessor import model_accessor
+
# The test config.yaml references files in `test/` so make sure we're in the parent directory of the
# test directory.
os.chdir(os.path.join(test_path, ".."))
@@ -135,7 +137,7 @@
from xossynchronizer.event_engine import XOSKafkaThread, XOSEventEngine
self.event_steps_dir = Config.get("event_steps_dir")
- self.event_engine = XOSEventEngine(log)
+ self.event_engine = XOSEventEngine(model_accessor=model_accessor, log=log)
def tearDown(self):
sys.path = self.sys_path_save
diff --git a/lib/xos-synchronizer/tests/test_load.py b/lib/xos-synchronizer/tests/test_load.py
index 8f9813d..3802dd7 100644
--- a/lib/xos-synchronizer/tests/test_load.py
+++ b/lib/xos-synchronizer/tests/test_load.py
@@ -52,10 +52,12 @@
import xossynchronizer.backend
reload(xossynchronizer.backend)
- b = xossynchronizer.backend.Backend()
+ from xossynchronizer.modelaccessor import model_accessor
+
+ b = xossynchronizer.backend.Backend(model_accessor=model_accessor)
steps_dir = Config.get("steps_dir")
self.steps = b.load_sync_step_modules(steps_dir)
- self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps)
+ self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps, model_accessor)
def tearDown(self):
sys.path = self.sys_path_save
@@ -92,6 +94,9 @@
self.assertIn(
("ControllerSlice", ["SyncControllerSlices"]), model_to_step.items()
)
+ self.assertIn(
+ ("Port", ["SyncPort"]), model_to_step.items()
+ )
self.assertIn(("SiteRole", ["SyncRoles"]), model_to_step.items())
for k, v in model_to_step.items():
@@ -100,7 +105,13 @@
if not isinstance(observes, list):
observes = [observes]
- observed_names = [o.__name__ for o in observes]
+ observed_names = []
+ for o in observes:
+ if isinstance(o,str):
+ observed_names.append(o)
+ else:
+ observed_names.append(o.__name__)
+
self.assertIn(k, observed_names)
diff --git a/lib/xos-synchronizer/tests/test_model_policy_tenantwithcontainer.py b/lib/xos-synchronizer/tests/test_model_policy_tenantwithcontainer.py
index fa3c774..b15240d 100644
--- a/lib/xos-synchronizer/tests/test_model_policy_tenantwithcontainer.py
+++ b/lib/xos-synchronizer/tests/test_model_policy_tenantwithcontainer.py
@@ -60,12 +60,9 @@
) in xossynchronizer.model_policies.model_policy_tenantwithcontainer.model_accessor.all_model_classes.items():
globals()[k] = v
- # TODO: Mock_model_accessor lacks save or delete methods
- # Instance.save = mock.Mock
- # Instance.delete = mock.Mock
- # TenantWithContainer.save = mock.Mock
+ from xossynchronizer.modelaccessor import model_accessor
- self.policy = TenantWithContainerPolicy()
+ self.policy = TenantWithContainerPolicy(model_accessor=model_accessor)
self.user = User(email="testadmin@test.org")
self.tenant = TenantWithContainer(creator=self.user)
self.flavor = Flavor(name="m1.small")
diff --git a/lib/xos-synchronizer/tests/test_payload.py b/lib/xos-synchronizer/tests/test_payload.py
index 6bd1cfc..cfba52d 100644
--- a/lib/xos-synchronizer/tests/test_payload.py
+++ b/lib/xos-synchronizer/tests/test_payload.py
@@ -99,26 +99,25 @@
# import all class names to globals
for (k, v) in model_accessor.all_model_classes.items():
globals()[k] = v
- b = xossynchronizer.backend.Backend()
+ b = xossynchronizer.backend.Backend(model_accessor = model_accessor)
steps_dir = Config.get("steps_dir")
self.steps = b.load_sync_step_modules(steps_dir)
- self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps)
+ self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps, model_accessor)
def tearDown(self):
sys.path = self.sys_path_save
os.chdir(self.cwd_save)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_delete_record(self, mock_run_template, mock_modelaccessor):
+ def test_delete_record(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save:
o = Instance()
o.name = "Sisi Pascal"
- o.synchronizer_step = steps.sync_instances.SyncInstances()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor = self.synchronizer.model_accessor)
self.synchronizer.delete_record(o, log)
a = get_ansible_output()
@@ -126,16 +125,15 @@
o.save.assert_called_with(update_fields=["backend_need_reap"])
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template_fail,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_delete_record_fail(self, mock_run_template, mock_modelaccessor):
+ def test_delete_record_fail(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save:
o = Instance()
o.name = "Sisi Pascal"
- o.synchronizer_step = steps.sync_instances.SyncInstances()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor = self.synchronizer.model_accessor)
with self.assertRaises(Exception) as e:
self.synchronizer.delete_record(o, log)
@@ -145,16 +143,15 @@
)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_sync_record(self, mock_run_template, mock_modelaccessor):
+ def test_sync_record(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save:
o = Instance()
o.name = "Sisi Pascal"
- o.synchronizer_step = steps.sync_instances.SyncInstances()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor = self.synchronizer.model_accessor)
self.synchronizer.sync_record(o, log)
a = get_ansible_output()
@@ -169,11 +166,10 @@
)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_sync_cohort(self, mock_run_template, mock_modelaccessor):
+ def test_sync_cohort(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save, mock.patch.object(
ControllerSlice, "save"
) as controllerslice_save:
@@ -186,8 +182,10 @@
o.slice = s
cohort = [cs, o]
- o.synchronizer_step = steps.sync_instances.SyncInstances()
- cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor = self.synchronizer.model_accessor)
+ cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices(
+ model_accessor = self.synchronizer.model_accessor
+ )
self.synchronizer.sync_cohort(cohort, False)
@@ -211,11 +209,10 @@
)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_deferred_exception(self, mock_run_template, mock_modelaccessor):
+ def test_deferred_exception(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save:
cs = ControllerSlice()
s = Slice(name="SP SP")
@@ -227,8 +224,10 @@
o.slice = s
cohort = [cs, o]
- o.synchronizer_step = steps.sync_instances.SyncInstances()
- cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor=self.synchronizer.model_accessor)
+ cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices(
+ model_accessor=self.synchronizer.model_accessor
+ )
self.synchronizer.sync_cohort(cohort, False)
o.save.assert_called_with(
@@ -241,11 +240,10 @@
self.assertIn("Failed due to", o.backend_status)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_backend_status(self, mock_run_template, mock_modelaccessor):
+ def test_backend_status(self, mock_run_template):
with mock.patch.object(Instance, "save") as instance_save:
cs = ControllerSlice()
s = Slice(name="SP SP")
@@ -257,8 +255,9 @@
o.slice = s
cohort = [cs, o]
- o.synchronizer_step = steps.sync_instances.SyncInstances()
- cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor=self.synchronizer.model_accessor)
+ cs.synchronizer_step = steps.sync_controller_slices.SyncControllerSlices(
+ model_accessor=self.synchronizer.model_accessor)
self.synchronizer.sync_cohort(cohort, False)
o.save.assert_called_with(
@@ -269,11 +268,10 @@
self.assertIn("Failed due to", o.backend_status)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_fetch_pending(self, mock_run_template, mock_accessor, *_other_accessors):
+ def test_fetch_pending(self, mock_run_template):
pending_objects, pending_steps = self.synchronizer.fetch_pending()
pending_objects2 = list(pending_objects)
@@ -295,12 +293,11 @@
self.assertEqual(set(flat_objects), set(pending_objects))
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
def test_fetch_pending_with_external_dependencies(
- self, mock_run_template, mock_accessor, *_other_accessors
+ self, mock_run_template,
):
pending_objects, pending_steps = self.synchronizer.fetch_pending()
pending_objects2 = list(pending_objects)
@@ -322,11 +319,10 @@
self.assertIsNotNone(any_user)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_external_dependency_exception(self, mock_run_template, mock_modelaccessor):
+ def test_external_dependency_exception(self, mock_run_template):
cs = ControllerSlice()
s = Slice(name="SP SP")
cs.slice = s
@@ -337,7 +333,7 @@
cohort = [cs, o]
o.synchronizer_step = None
- o.synchronizer_step = steps.sync_instances.SyncInstances()
+ o.synchronizer_step = steps.sync_instances.SyncInstances(model_accessor=self.synchronizer.model_accessor)
self.synchronizer.sync_cohort(cohort, False)
diff --git a/lib/xos-synchronizer/tests/test_run.py b/lib/xos-synchronizer/tests/test_run.py
index f5815f2..65651d9 100644
--- a/lib/xos-synchronizer/tests/test_run.py
+++ b/lib/xos-synchronizer/tests/test_run.py
@@ -14,10 +14,7 @@
import json
import unittest
-from mock import patch
import mock
-import pdb
-import networkx as nx
import os
import sys
@@ -70,10 +67,12 @@
for (k, v) in model_accessor.all_model_classes.items():
globals()[k] = v
- b = xossynchronizer.backend.Backend()
+ from xossynchronizer.modelaccessor import model_accessor
+
+ b = xossynchronizer.backend.Backend(model_accessor=model_accessor)
steps_dir = Config.get("steps_dir")
self.steps = b.load_sync_step_modules(steps_dir)
- self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps)
+ self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps, model_accessor)
try:
os.remove("/tmp/sync_ports")
except OSError:
@@ -88,12 +87,10 @@
os.chdir(self.cwd_save)
@mock.patch(
- "steps.sync_instances.syncstep.run_template",
+ "steps.sync_instances.ansiblesyncstep.run_template",
side_effect=run_fake_ansible_template,
)
- @mock.patch("xossynchronizer.event_loop.model_accessor")
- def test_run_once(self, mock_run_template, mock_accessor, *_other_accessors):
-
+ def test_run_once(self, mock_run_template):
pending_objects, pending_steps = self.synchronizer.fetch_pending()
pending_objects2 = list(pending_objects)
diff --git a/lib/xos-synchronizer/tests/test_scheduler.py b/lib/xos-synchronizer/tests/test_scheduler.py
index afbf036..12e5ce0 100644
--- a/lib/xos-synchronizer/tests/test_scheduler.py
+++ b/lib/xos-synchronizer/tests/test_scheduler.py
@@ -65,7 +65,7 @@
b = xossynchronizer.backend.Backend()
steps_dir = Config.get("steps_dir")
self.steps = b.load_sync_step_modules(steps_dir)
- self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps)
+ self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps, model_accessor)
def tearDown(self):
sys.path = self.sys_path_save
diff --git a/lib/xos-synchronizer/tests/test_services.py b/lib/xos-synchronizer/tests/test_services.py
index 2456c27..c41ed05 100644
--- a/lib/xos-synchronizer/tests/test_services.py
+++ b/lib/xos-synchronizer/tests/test_services.py
@@ -57,10 +57,10 @@
for (k, v) in model_accessor.all_model_classes.items():
globals()[k] = v
- b = xossynchronizer.backend.Backend()
+ b = xossynchronizer.backend.Backend(model_accessor=model_accessor)
steps_dir = Config.get("steps_dir")
self.steps = b.load_sync_step_modules(steps_dir)
- self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps)
+ self.synchronizer = xossynchronizer.event_loop.XOSObserver(self.steps, model_accessor)
def tearDown(self):
sys.path = self.sys_path_save