summaryrefslogtreecommitdiffstats
path: root/test/test_ConductorApiBuilder.py
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/test_ConductorApiBuilder.py
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/test_ConductorApiBuilder.py')
-rw-r--r--test/test_ConductorApiBuilder.py24
1 files changed, 17 insertions, 7 deletions
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()