diff options
author | Ankitkumar Patel <ankit@research.att.com> | 2018-03-25 19:27:39 -0400 |
---|---|---|
committer | Ankitkumar Patel <ankit@research.att.com> | 2018-03-25 19:31:24 -0400 |
commit | bc1d288ac29c3c9bf968cea5ac2d95b8bcd67eae (patch) | |
tree | e7dc43bd3bc59ab1855263c4a61832966283025c /test/test_PolicyCalls.py | |
parent | ed70b5c6d6589e4e1ce80229612ea5b680736c4c (diff) |
Update the policy adaptor and related testcases
Generalized the policy adaptor code by removing homing specific logic.
Issue-ID: OPTFRA-27
Change-Id: I331030a2f3f5c0c17af1a72af9794131555a9217
Signed-off-by: Ankitkumar Patel <ankit@research.att.com>
Diffstat (limited to 'test/test_PolicyCalls.py')
-rw-r--r-- | test/test_PolicyCalls.py | 110 |
1 files changed, 46 insertions, 64 deletions
diff --git a/test/test_PolicyCalls.py b/test/test_PolicyCalls.py index 83cce55..8c0d638 100644 --- a/test/test_PolicyCalls.py +++ b/test/test_PolicyCalls.py @@ -25,6 +25,7 @@ from osdf.utils.interfaces import RestClient, json_from_file import yaml from mock import patch from osdf.optimizers.placementopt.conductor import translation +from osdf.operation.exceptions import BusinessException class TestPolicyCalls(unittest.TestCase): @@ -44,75 +45,56 @@ class TestPolicyCalls(unittest.TestCase): 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 - pmain = config_core['policy_info']['placement'] - print(pmain) - subs_name = interface.get_subscriber_name(req_json_obj, pmain) - print("subscriber_name=", subs_name) - self.assertEquals(subs_name, "Avteet_Chayal") + def test_policy_api_call(self): + req_json_file = "./test/placement-tests/request.json" + req_json = json.loads(open(req_json_file).read()) + policy_response_file = "./test/placement-tests/policy_response.json" + policy_response = json.loads(open(policy_response_file).read()) + with patch('osdf.adapters.policy.interface.policy_api_call', return_value=policy_response): + policy_list = interface.remote_api(req_json, osdf_config, service_type="placement") + self.assertIsNotNone(policy_list) - 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()) - config_core = osdf_config.core - - pmain = config_core['policy_info']['placement'] - print(pmain) - 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" - req_json_obj = json.loads(open(req_json_file).read()) - config_core = osdf_config.core - - pmain = config_core['policy_info']['placement'] - print(pmain) - 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" - req_json_obj = json.loads(open(req_json_file).read()) - config_core = osdf_config.core - - pmain = config_core['policy_info']['placement'] - print(pmain) - 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_none(self): - req_json_file = "./test/placement-tests/request_mso_subs_name_none.json" - req_json_obj = json.loads(open(req_json_file).read()) - config_core = osdf_config.core - - pmain = config_core['policy_info']['placement'] - print(pmain) - subs_name = interface.get_subscriber_name(req_json_obj, pmain) - print("subscriber_name=", subs_name) - self.assertEquals(subs_name, "DEFAULT") + def test_policy_api_call_failed_1(self): + req_json_file = "./test/placement-tests/request_error1.json" + req_json = json.loads(open(req_json_file).read()) + policy_response_file = "./test/placement-tests/policy_response.json" + policy_response = json.loads(open(policy_response_file).read()) + with patch('osdf.adapters.policy.interface.policy_api_call', return_value=policy_response): + self.assertRaises(BusinessException, + lambda: interface.remote_api(req_json, osdf_config, service_type="placement")) + + def test_policy_api_call_failed_2(self): + req_json_file = "./test/placement-tests/request.json" + req_json = json.loads(open(req_json_file).read()) + policy_response_file = "./test/placement-tests/policy_response_error1.json" + policy_response = json.loads(open(policy_response_file).read()) + with patch('osdf.adapters.policy.interface.policy_api_call', return_value=policy_response): + self.assertRaises(BusinessException, + lambda: interface.remote_api(req_json, osdf_config, service_type="placement")) + + def test_policy_api_call_failed_3(self): + req_json_file = "./test/placement-tests/request.json" + req_json = json.loads(open(req_json_file).read()) + policy_response_file = "./test/placement-tests/policy_response_error2.json" + policy_response = json.loads(open(policy_response_file).read()) + with patch('osdf.adapters.policy.interface.policy_api_call', return_value=policy_response): + self.assertRaises(BusinessException, + lambda: interface.remote_api(req_json, osdf_config, service_type="placement")) def test_get_by_scope(self): req_json_file = "./test/placement-tests/testScoperequest.json" - allPolicies = "./test/placement-tests/scopePolicies.json" + all_policies = "./test/placement-tests/policy_response.json" req_json_obj = json.loads(open(req_json_file).read()) - req_json_obj2 = json.loads(open(allPolicies).read()) - yamlFile = "./test/placement-tests/test_by_scope.yaml" - - with open(yamlFile) as yamlFile2: - 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) - + req_json_obj2 = json.loads(open(all_policies).read()) + yaml_file = "./test/placement-tests/test_by_scope.yaml" + + with open(yaml_file) as yaml_file2: + policy_config_file = yaml.load(yaml_file2) + with patch('osdf.utils.interfaces.RestClient.request', return_value=req_json_obj2): + policies_list = interface.get_by_scope(RestClient, req_json_obj, policy_config_file, 'placement') + self.assertTrue(policies_list, 'is null') + self.assertRaises(Exception) + def test_gen_demands(self): actionsList = [] genDemandslist = [] |