From 1a9638f5d5fc78f7e8be700e71b506fed3cc9d2d Mon Sep 17 00:00:00 2001 From: Sastry Isukapalli Date: Sat, 17 Mar 2018 02:40:15 -0400 Subject: New policies and required code changes Issue-ID: OPTFRA-146 Change-Id: I2261ae69f52b184cd7dcb7b86d5905538666a411 Signed-off-by: Sastry Isukapalli --- test/test_PolicyCalls.py | 60 +++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 31 deletions(-) (limited to 'test/test_PolicyCalls.py') diff --git a/test/test_PolicyCalls.py b/test/test_PolicyCalls.py index 0378dbd..83cce55 100644 --- a/test/test_PolicyCalls.py +++ b/test/test_PolicyCalls.py @@ -18,16 +18,32 @@ import json import unittest +from osdf.adapters.local_data import local_policies from osdf.config.base import osdf_config from osdf.adapters.policy import interface -from osdf.utils.interfaces import RestClient +from osdf.utils.interfaces import RestClient, json_from_file import yaml from mock import patch from osdf.optimizers.placementopt.conductor import translation class TestPolicyCalls(unittest.TestCase): - + + def setUp(self): + main_dir = "" + 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" + + 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) + + self.request_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): + pass + def test_get_subscriber_name(self): req_json_obj = json.loads(open("./test/placement-tests/request_mso.json").read()) config_core = osdf_config.core @@ -36,8 +52,7 @@ class TestPolicyCalls(unittest.TestCase): subs_name = interface.get_subscriber_name(req_json_obj, pmain) print("subscriber_name=", subs_name) self.assertEquals(subs_name, "Avteet_Chayal") - - + def test_get_subscriber_name_null(self): req_json_file = "./test/placement-tests/request_mso_subs_name_null.json" req_json_obj = json.loads(open(req_json_file).read()) @@ -48,7 +63,6 @@ class TestPolicyCalls(unittest.TestCase): subs_name = interface.get_subscriber_name(req_json_obj, pmain) print("subscriber_name=", subs_name) self.assertEquals(subs_name, "DEFAULT") - def test_get_subscriber_name_blank(self): req_json_file = "./test/placement-tests/request_mso_subs_name_blank.json" @@ -60,7 +74,6 @@ class TestPolicyCalls(unittest.TestCase): subs_name = interface.get_subscriber_name(req_json_obj, pmain) print("subscriber_name=", subs_name) self.assertEquals(subs_name, "DEFAULT") - def test_get_subscriber_name_default(self): req_json_file = "./test/placement-tests/request_mso_subs_name_default.json" @@ -73,7 +86,6 @@ class TestPolicyCalls(unittest.TestCase): print("subscriber_name=", subs_name) self.assertEquals(subs_name, "DEFAULT") - def test_get_subscriber_name_none(self): req_json_file = "./test/placement-tests/request_mso_subs_name_none.json" req_json_obj = json.loads(open(req_json_file).read()) @@ -84,49 +96,35 @@ class TestPolicyCalls(unittest.TestCase): subs_name = interface.get_subscriber_name(req_json_obj, pmain) print("subscriber_name=", subs_name) self.assertEquals(subs_name, "DEFAULT") - def test_get_by_scope(self): req_json_file = "./test/placement-tests/testScoperequest.json" allPolicies = "./test/placement-tests/scopePolicies.json" req_json_obj = json.loads(open(req_json_file).read()) req_json_obj2 = json.loads(open(allPolicies).read()) - config_core = osdf_config.core yamlFile = "./test/placement-tests/test_by_scope.yaml" with open(yamlFile) as yamlFile2: - policyConfigFile = yaml.load(yamlFile2) - with patch('osdf.adapters.policy.interface.get_subscriber_role', return_value=('FFA Homing', [])) as mock_open: - with patch('osdf.utils.interfaces.RestClient.request', return_value = req_json_obj2): - policiesList = interface.get_by_scope(RestClient, req_json_obj, policyConfigFile, 'placement') - print(policiesList) - #catches Exception if policiesList is null + policy_config_file = yaml.load(yamlFile2) + with patch('osdf.adapters.policy.interface.get_subscriber_role', + return_value=('FFA Homing', [])) as mock_open: + with patch('osdf.utils.interfaces.RestClient.request', return_value=req_json_obj2): + policiesList = interface.get_by_scope(RestClient, req_json_obj, policy_config_file, 'placement') self.assertTrue(policiesList, 'is null') self.assertRaises(Exception) def test_gen_demands(self): actionsList = [] genDemandslist = [] - req_json = "./test/placement-tests/testScoperequest.json" - policiesList = "./test/placement-tests/vnfGroupPolicies.txt" - fh = json.loads(open(policiesList).read()) - #print(fh) + req_json = "./test/placement-tests/request.json" req_json = json.loads(open(req_json).read()) - config_core = osdf_config.core - service_type = req_json['placementInfo'].get('serviceType', None) - # service_type = data_mapping.get_request_service_type(req_json_file) - genDemands = translation.gen_demands(req_json['placementInfo']['demandInfo'], fh) - #print(genDemands) - #print(req_json_file['placementInfo']['demandInfo']['placementDemand'][0]) - for action in req_json['placementInfo']['demandInfo']['placementDemand']: - #print(action['resourceModuleName']) + genDemands = translation.gen_demands(req_json, self.policies) + for action in req_json['placementInfo']['placementDemands']: actionsList.append(action['resourceModuleName']) for key2,value in genDemands.items(): - #print(key2) genDemandslist.append(key2) - #genDemandslist.remove('Primary IP_Mux_Demux updated_1 0') - #catches Exception if lists are not equal - self.assertListEqual(genDemandslist, actionsList, 'generated demands are not equal to the passed input [placementDemand][resourceModuleName] list') + self.assertListEqual(genDemandslist, actionsList, 'generated demands are not equal to the passed input' + '[placementDemand][resourceModuleName] list') if __name__ == '__main__': unittest.main() -- cgit 1.2.3-korg