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/test_ConductorApiBuilder.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'test/test_ConductorApiBuilder.py') diff --git a/test/test_ConductorApiBuilder.py b/test/test_ConductorApiBuilder.py index f8683a3..7e38f4d 100644 --- a/test/test_ConductorApiBuilder.py +++ b/test/test_ConductorApiBuilder.py @@ -28,28 +28,38 @@ class TestConductorApiBuilder(unittest.TestCase): def setUp(self): self.main_dir = "" - conductor_api_template = self.main_dir + "osdf/templates/conductor_interface.json" - parameter_data_file = self.main_dir + "test/placement-tests/request.json" # "test/placement-tests/request.json" + 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" # "test/policy-local-files" - local_config_file = self.main_dir + "config/common_config.yaml" 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" # "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) + parameter_data_file = self.main_dir + "test/placement-tests/request_placement_vfmod.json" + self.request_placement_vfmod_json = json_from_file(parameter_data_file) self.policies = [json_from_file(policy_data_path + '/' + name) for name in valid_policies_files] def test_conductor_api_call_builder(self): main_dir = self.main_dir - conductor_api_template = main_dir + "osdf/templates/conductor_interface.json" # "osdf/templates/conductor_interface.json" - local_config_file = main_dir + "config/common_config.yaml" request_json = self.request_json policies = self.policies - local_config = yaml.load(open(local_config_file)) - templ_string = conductor_api_builder(request_json, policies, local_config, conductor_api_template) + local_config = yaml.load(open(self.local_config_file)) + templ_string = conductor_api_builder(request_json, policies, local_config, self.conductor_api_template) templ_json = json.loads(templ_string) self.assertEqual(templ_json["name"], "yyy-yyy-yyyy") + def test_conductor_api_call_builder_vfmod(self): + request_json = self.request_vfmod_json + policies = self.policies + local_config = yaml.load(open(self.local_config_file)) + templ_string = conductor_api_builder(request_json, policies, local_config, self.conductor_api_template) + templ_json = json.loads(templ_string) + self.assertEqual(templ_json, self.request_placement_vfmod_json) + if __name__ == "__main__": unittest.main() -- cgit 1.2.3-korg