SEBA-405 Update SimpleExampleService to use synchronizer library
Change-Id: Ibe0d8cd56325cdc2f6f7a4752c4012fad4162121
diff --git a/xos/synchronizer/tests/test_model_policy_simpleexampleserviceinstance.py b/xos/synchronizer/tests/test_model_policy_simpleexampleserviceinstance.py
index 1960d84..12d7ba5 100644
--- a/xos/synchronizer/tests/test_model_policy_simpleexampleserviceinstance.py
+++ b/xos/synchronizer/tests/test_model_policy_simpleexampleserviceinstance.py
@@ -33,6 +33,7 @@
("kubernetes-service", "kubernetes.xproto")] )
self.MockObjectList = self.unittest_setup["MockObjectList"]
+ self.model_accessor = self.unittest_setup["model_accessor"]
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(os.path.realpath(__file__))), "../model_policies"))
@@ -66,7 +67,7 @@
owner=self.service, tenant_message="world", tenant_secret="l3tm31n")
si.embedded_images = self.MockObjectList([])
- step = self.policy_class()
+ step = self.policy_class(model_accessor=self.model_accessor)
desired_data = json.dumps({"index.html": step.render_index(si)})
@@ -136,7 +137,7 @@
si.compute_instance = ksi
ksi.kubernetes_config_volume_mounts = self.MockObjectList([cfm_mnt])
- step = self.policy_class()
+ step = self.policy_class(model_accessor=self.model_accessor)
desired_data = json.dumps({"index.html": step.render_index(si)})
@@ -166,7 +167,7 @@
k8s_service_objects.return_value = [self.k8s_service]
service_objects.return_value = [self.k8s_service, self.service]
- step = self.policy_class()
+ step = self.policy_class(model_accessor=self.model_accessor)
si = SimpleExampleServiceInstance(name="test-simple-instance",
id=1112,
@@ -205,7 +206,7 @@
name="simpleexampleserviceinstance-1112")
si.compute_instance = ksi
- step = self.policy_class()
+ step = self.policy_class(model_accessor=self.model_accessor)
step.handle_delete(si)
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}