-
- 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_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 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 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, 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_call2(self):
+ req_json, policy_response = self.get_req_resp("test/placement-tests/request.json",
+ "test/placement-tests/policy_response2.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")
+ policy_type = [policy[list(policy.keys())[0]]['type'] for policy in policy_list]
+ #self.assertEqual(set(policy_type), {'hpaPolicy', 'SubscriberPolicy'})
+
+ 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_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)
+