SEBA-405 Update openstack synchronizer to use synchronizer library

Change-Id: I9adae42fa7eec94ee496b728c32a7ce5db3c39e0
diff --git a/xos/synchronizer/tests/test_sync_openstackserviceinstance.py b/xos/synchronizer/tests/test_sync_openstackserviceinstance.py
index 8f0ad3a..101283f 100644
--- a/xos/synchronizer/tests/test_sync_openstackserviceinstance.py
+++ b/xos/synchronizer/tests/test_sync_openstackserviceinstance.py
@@ -32,6 +32,8 @@
 
         sys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.realpath(__file__))), "../steps"))
 
+        self.model_accessor = self.unittest_setup["model_accessor"]
+
         from sync_openstackserviceinstance import SyncOpenStackServiceInstance
         self.step_class = SyncOpenStackServiceInstance
 
@@ -54,7 +56,7 @@
             xos_instance = OpenStackServiceInstance(name="test-instance", slice=self.slice, image=self.image,
                                                     node=self.node, flavor=self.flavor)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.compute.servers.return_value = []
             fakeconn.identity.find_project.return_value = MagicMock(id=self.slice.backend_handle)
             fakeconn.identity.find_domain.return_value = MagicMock(id=self.trust_domain.backend_handle)
@@ -87,7 +89,7 @@
             xos_instance = OpenStackServiceInstance(name="test-instance", slice=self.slice, image=self.image,
                                                     node=self.node)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.compute.servers.return_value = []
             fakeconn.identity.find_project.return_value = MagicMock(id=self.slice.backend_handle)
             fakeconn.identity.find_domain.return_value = MagicMock(id=self.trust_domain.backend_handle)
@@ -122,7 +124,7 @@
             xos_instance = OpenStackServiceInstance(name="test-instance", slice=self.slice, image=self.image,
                                                     flavor=self.flavor)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.compute.servers.return_value = []
             fakeconn.identity.find_project.return_value = MagicMock(id=self.slice.backend_handle)
             fakeconn.identity.find_domain.return_value = MagicMock(id=self.trust_domain.backend_handle)
@@ -160,7 +162,7 @@
             owning_service = Service(name="test_service", public_key="key2")
             self.slice.service = owning_service
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.compute.servers.return_value = []
             fakeconn.identity.find_project.return_value = MagicMock(id=self.slice.backend_handle)
             fakeconn.identity.find_domain.return_value = MagicMock(id=self.trust_domain.backend_handle)
@@ -197,7 +199,7 @@
             os_instance = MagicMock()
             os_instance.id = "1234"
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_project.return_value = os_instance
             fakeconn.compute.create_server.return_value = None
             fakeconn.compute.servers.return_value = [os_instance]
@@ -215,7 +217,7 @@
             xos_instance = OpenStackServiceInstance(name="test-instance", slice=self.slice, image=self.image,
                                                     node=self.node, flavor=self.flavor)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             os_instance = MagicMock()
             os_instance.id = "1234"
             fakeconn.compute.servers.return_value = [os_instance]
diff --git a/xos/synchronizer/tests/test_sync_principal.py b/xos/synchronizer/tests/test_sync_principal.py
index f06ec48..3fd0102 100644
--- a/xos/synchronizer/tests/test_sync_principal.py
+++ b/xos/synchronizer/tests/test_sync_principal.py
@@ -32,6 +32,8 @@
 
         sys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.realpath(__file__))), "../steps"))
 
+        self.model_accessor = self.unittest_setup["model_accessor"]
+
         from sync_principal import SyncPrincipal
         self.step_class = SyncPrincipal
 
@@ -50,7 +52,7 @@
 
             xos_principal = Principal(name="test-principal", trust_domain=self.trust_domain)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_user.return_value = None
             fakeconn.identity.find_domain.return_value = MagicMock(id=trust_domain_id)
 
@@ -73,7 +75,7 @@
             os_user = MagicMock()
             os_user.id = "1234"
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_user.return_value = os_user
             fakeconn.identity.create_user.return_value = None
 
@@ -89,7 +91,7 @@
 
             xos_principal = Principal(name="test-principal", trust_domain=self.trust_domain)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             os_user = MagicMock()
             os_user.id = "1234"
             fakeconn.identity.find_user.return_value = os_user
diff --git a/xos/synchronizer/tests/test_sync_slice.py b/xos/synchronizer/tests/test_sync_slice.py
index 384641f..2f1046d 100644
--- a/xos/synchronizer/tests/test_sync_slice.py
+++ b/xos/synchronizer/tests/test_sync_slice.py
@@ -32,6 +32,8 @@
 
         sys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.realpath(__file__))), "../steps"))
 
+        self.model_accessor = self.unittest_setup["model_accessor"]
+
         from sync_slice import SyncSlice
         self.step_class = SyncSlice
 
@@ -51,7 +53,7 @@
 
             xos_slice = Slice(name="test-slice", trust_domain=self.trust_domain, site=self.site)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_project.return_value = None
             fakeconn.identity.find_domain.return_value = MagicMock(id=trust_domain_id)
 
@@ -74,7 +76,7 @@
             os_slice = MagicMock()
             os_slice.id = "1234"
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_project.return_value = os_slice
             fakeconn.identity.create_user.return_value = None
 
@@ -90,7 +92,7 @@
 
             xos_slice = Slice(name="test-slice", trust_domain=self.trust_domain, site=self.site)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             os_slice = MagicMock()
             os_slice.id = "1234"
             fakeconn.identity.find_project.return_value = os_slice
diff --git a/xos/synchronizer/tests/test_sync_trustdomain.py b/xos/synchronizer/tests/test_sync_trustdomain.py
index b9f8a74..73b574c 100644
--- a/xos/synchronizer/tests/test_sync_trustdomain.py
+++ b/xos/synchronizer/tests/test_sync_trustdomain.py
@@ -32,6 +32,8 @@
 
         sys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.realpath(__file__))), "../steps"))
 
+        self.model_accessor = self.unittest_setup["model_accessor"]
+
         from sync_trustdomain import SyncTrustDomain
         self.step_class = SyncTrustDomain
 
@@ -47,7 +49,7 @@
 
             xos_trust_domain = TrustDomain(name="test-trust", owner=self.service)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             fakeconn.identity.find_domain.return_value = None
 
             os_domain = MagicMock()
@@ -66,7 +68,7 @@
 
             xos_trust_domain = TrustDomain(name="test-trust", owner=self.service)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             os_domain = MagicMock()
             os_domain.id = "1234"
             fakeconn.identity.find_domain.return_value = os_domain
@@ -85,7 +87,7 @@
 
             xos_trust_domain = TrustDomain(name="test-trust", owner=self.service)
 
-            step = self.step_class()
+            step = self.step_class(model_accessor=self.model_accessor)
             os_domain = MagicMock()
             os_domain.id = "1234"
             os_domain.enabled = True
diff --git a/xos/synchronizer/tests/unit_test_common.py b/xos/synchronizer/tests/unit_test_common.py
index 68f6743..c2cdde8 100644
--- a/xos/synchronizer/tests/unit_test_common.py
+++ b/xos/synchronizer/tests/unit_test_common.py
@@ -18,15 +18,14 @@
 
 def setup_sync_unit_test(test_path, globals_dict, models, config_fn="test_config.yaml"):
     """ Perform the common steps associated with setting up a synchronizer unit test.
-           1) Add synchronizers/new_base to sys.path
-           2) Import xosconfig.Config and set it up to test_config.yaml in the current dir
-           3) Build the mock modelaccessor and import it
-           4) Import all model accessor classes into global space
+           1) Import xosconfig.Config and set it up to test_config.yaml in the current dir
+           2) Build the mock modelaccessor and import it
+           3) Import all model accessor classes into global space
 
         Arguments:
             test_path - path to the test case that is being run
             globals_dict - a dictionary to add global models to
-            models - a list of pairs (service_name, xproto_name,
+            models - a list of pairs (service_name, xproto_name)
             config_fn - filename of config file)
 
         Returns:
@@ -37,39 +36,23 @@
                 xos_dir: xos directory
                 services_dir: services directory
     """
-    def get_models_fn(services_dir, service_name, xproto_name):
-        name = os.path.join(service_name, "xos", xproto_name)
-        if os.path.exists(os.path.join(services_dir, name)):
-            return name
-        else:
-            name = os.path.join(service_name, "xos", "synchronizer", "models", xproto_name)
-            if os.path.exists(os.path.join(services_dir, name)):
-                return name
-        raise Exception("Unable to find service=%s xproto=%s" % (service_name, xproto_name))
-
     sys_path_save = sys.path
 
-    xos_dir = os.path.join(test_path, "../../..")
-    if not os.path.exists(os.path.join(test_path, "new_base")):
-        xos_dir = os.path.join(test_path, "../../../../../../orchestration/xos/xos")
-        services_dir = os.path.join(xos_dir, "../../xos_services")
-    sys.path.append(xos_dir)
-    sys.path.append(os.path.join(xos_dir, 'synchronizers', 'new_base'))
-
     # Setting up the config module
     from xosconfig import Config
     config = os.path.join(test_path, config_fn)
     Config.clear()
     Config.init(config, "synchronizer-config-schema.yaml")
 
-    xprotos = []
-    for (service_name, xproto_name) in models:
-        xprotos.append(get_models_fn(services_dir, service_name, xproto_name))
+    from xossynchronizer.mock_modelaccessor_build import mock_modelaccessor_config
+    mock_modelaccessor_config(test_path, models)
 
-    from synchronizers.new_base.mock_modelaccessor_build import build_mock_modelaccessor
-    build_mock_modelaccessor(xos_dir, services_dir, xprotos)
-    import synchronizers.new_base.modelaccessor
-    from synchronizers.new_base.modelaccessor import model_accessor
+    import xossynchronizer.modelaccessor
+    reload(xossynchronizer.modelaccessor)  # in case nose2 loaded it in a previous testp
+
+    from xossynchronizer.modelaccessor import model_accessor
+
+    # modelaccessor.py will have ensure mock_modelaccessor is in sys.path
     from mock_modelaccessor import MockObjectList
 
     # import all class names to globals
@@ -79,6 +62,4 @@
     return {"sys_path_save": sys_path_save,
             "model_accessor": model_accessor,
             "Config": Config,
-            "xos_dir": xos_dir,
-            "services_dir": services_dir,
             "MockObjectList": MockObjectList}