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}