From fc3ead31e631f69fabf0baaa20c10bf955ce374b Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Mon, 8 Apr 2019 15:05:22 +0200 Subject: 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 --- test/conductor/test_conductor_calls.py | 5 +++++ test/conductor/test_conductor_translation.py | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) (limited to 'test/conductor') 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() -- cgit 1.2.3-korg