summaryrefslogtreecommitdiffstats
path: root/test/conductor
diff options
context:
space:
mode:
authorLukasz Rajewski <lukasz.rajewski@orange.com>2019-04-08 15:05:22 +0200
committerLukasz Rajewski <lukasz.rajewski@orange.com>2019-04-18 17:05:54 +0200
commitfc3ead31e631f69fabf0baaa20c10bf955ce374b (patch)
tree5227f20b49628ddf2e3ac533d0cd1dcb9d32a9e8 /test/conductor
parent2d59800cf61a90e2a80902186bdce3b28e5ae14d (diff)
Traffic Distributtion support added
* New local polcies for vFW TD use case * Fixed encoding for conductor_request template and parameters section modified to accept all requestParameters * Conductor request can have many attributes in the 'attributes' section - all that are defined in the vnf policy file * Conductor request can have many request parameters in the 'requestParameters' section. The parameters come from QueryPolicies. Before list of suppoted parameters was hardcoded * Optional 'unique' parameter added to the placementDemand section. It is already supported by conductor for all inventory types * Improved debug logs for local policies * Unit tests added for expanded request format Change-Id: I41f219c366a3a77881c7096e64a6272edbada23b Issue-ID: OPTFRA-443 Signed-off-by: Lukasz Rajewski <lukasz.rajewski@orange.com>
Diffstat (limited to 'test/conductor')
-rw-r--r--test/conductor/test_conductor_calls.py5
-rw-r--r--test/conductor/test_conductor_translation.py18
2 files changed, 18 insertions, 5 deletions
diff --git a/test/conductor/test_conductor_calls.py b/test/conductor/test_conductor_calls.py
index 1a96da7..77d9a72 100644
--- a/test/conductor/test_conductor_calls.py
+++ b/test/conductor/test_conductor_calls.py
@@ -43,6 +43,11 @@ class TestConductorCalls(unittest.TestCase):
policies = pol.get_local_policies("test/policy-local-files/", self.lp)
conductor.request(req_json, self.osdf_config, policies)
+ def test_request_vfmod(self):
+ req_json = json_from_file("./test/placement-tests/request_vfmod.json")
+ policies = pol.get_local_policies("test/policy-local-files/", self.lp)
+ conductor.request(req_json, self.osdf_config, policies)
+
if __name__ == "__main__":
unittest.main()
diff --git a/test/conductor/test_conductor_translation.py b/test/conductor/test_conductor_translation.py
index 0c7da94..27711f5 100644
--- a/test/conductor/test_conductor_translation.py
+++ b/test/conductor/test_conductor_translation.py
@@ -28,16 +28,18 @@ from osdf.utils.interfaces import json_from_file, yaml_from_file
class TestConductorTranslation(unittest.TestCase):
def setUp(self):
- main_dir = ""
- conductor_api_template = main_dir + "osdf/templates/conductor_interface.json"
- parameter_data_file = main_dir + "test/placement-tests/request.json"
- policy_data_path = main_dir + "test/policy-local-files/"
- local_config_file = main_dir + "config/common_config.yaml"
+ self.main_dir = ""
+ self.conductor_api_template = self.main_dir + "osdf/templates/conductor_interface.json"
+ self.local_config_file = self.main_dir + "config/common_config.yaml"
+ policy_data_path = self.main_dir + "test/policy-local-files"
valid_policies_list_file = policy_data_path + '/' + 'meta-valid-policies.txt'
valid_policies_files = local_policies.get_policy_names_from_file(valid_policies_list_file)
+ parameter_data_file = self.main_dir + "test/placement-tests/request.json"
self.request_json = json_from_file(parameter_data_file)
+ parameter_data_file = self.main_dir + "test/placement-tests/request_vfmod.json"
+ self.request_vfmod_json = json_from_file(parameter_data_file)
self.policies = [json_from_file(policy_data_path + '/' + name) for name in valid_policies_files]
def tearDown(self):
@@ -49,6 +51,12 @@ class TestConductorTranslation(unittest.TestCase):
res = tr.gen_demands(self.request_json, vnf_policies)
assert res is not None
+ def test_gen_vfmod_demands(self):
+ # need to run this only on vnf policies
+ vnf_policies = [x for x in self.policies if x["content"]["policyType"] == "vnfPolicy"]
+ res = tr.gen_demands(self.request_vfmod_json, vnf_policies)
+ assert res is not None
+
if __name__ == "__main__":
unittest.main()