From ab7a87456538e561d60d209fe534c175ddd0269c Mon Sep 17 00:00:00 2001 From: Sastry Isukapalli Date: Wed, 28 Mar 2018 22:21:30 -0400 Subject: Functest scripts, simulators, and payloads osdf/adapters/policy/utils.py: Removed duplicated code (group_policies and group_policies_gen are very similar, and group_policies seems to be not used osdf/optimizers/placementopt/conductor/api_builder.py: changed param name from "grouped_policies" to "flat_policies" tox.ini added starup and shutdown of simulators (flask app with mock payloads) in tox tests rest all files/changes in "test/" folder quite a few payload files Patch set 2: removed a "print()" statement from simulator code Issue-ID: OPTFRA-22 Change-Id: I0006c577fc459c7c884b55e8316c689afd151780 Signed-off-by: Sastry Isukapalli --- test/test_PolicyCalls.py | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) (limited to 'test/test_PolicyCalls.py') diff --git a/test/test_PolicyCalls.py b/test/test_PolicyCalls.py index 30fc072..fef7574 100644 --- a/test/test_PolicyCalls.py +++ b/test/test_PolicyCalls.py @@ -45,41 +45,32 @@ class TestPolicyCalls(unittest.TestCase): def tearDown(self): pass + def get_req_resp(self, req_file, resp_file): + """Get request/response from files""" + req_json = json_from_file(req_file) + resp_json = json_from_file(resp_file) + return req_json, resp_json + 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()) + req_json, policy_response = self.get_req_resp("./test/placement-tests/request.json", + "./test/placement-tests/policy_response.json") 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_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()) + def failure_policy_call(self, req_json_file, resp_json_file): + req_json, policy_response = self.get_req_resp(req_json_file, resp_json_file) 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_policy_api_call_failed_multi(self): + prefix = "./test/placement-tests" + fail_cases = [("request_error1.json", "policy_response.json"), + ("request.json", "policy_response_error1.json"), + ("request.json", "policy_response_error2.json")] + for req, resp in fail_cases: + self.failure_policy_call(prefix + "/" + req, prefix + "/" + resp) def test_get_by_scope(self): req_json_file = "./test/placement-tests/testScoperequest.json" @@ -110,5 +101,10 @@ class TestPolicyCalls(unittest.TestCase): self.assertListEqual(genDemandslist, actionsList, 'generated demands are not equal to the passed input' '[placementDemand][resourceModuleName] list') + def test_local_policy_location(self): + req_json = json_from_file("./test/placement-tests/request.json") + return interface.local_policies_location(req_json, osdf_config, service_type="placement") + + if __name__ == '__main__': unittest.main() -- cgit 1.2.3-korg