def test_vdu_autoheal_execute_action(self, mock_heal_vnf_request, mock_safe_load, mock_heal_vnf): # Here yaml.safe_load is mock as in the test case i am passing # vnf_dict containing having vnf_dict['attributes']['heat_template'] # value in json format so while excution it giving the error as # dict object has no read attribute where as in actual execution the # value of vnf_dict['attributes']['heat_template'] is in ymal format. mock_safe_load.return_value = vnf_dict['attributes']['heat_template'] resource_list = ['VDU1', 'CP1'] additional_params = [] for resource in resource_list: additional_paramas_obj = heal_vnf_request.HealVnfAdditionalParams( parameter=resource, cause=[ "Unable to reach while monitoring resource: '%s'" % resource ]) additional_params.append(additional_paramas_obj) heal_request_data_obj = heal_vnf_request.HealVnfRequest( cause='VNF monitoring fails.', additional_params=additional_params) mock_heal_vnf_request.return_value = heal_request_data_obj self.vdu_autoheal.execute_action(self.vnfm_plugin, self.context, vnf_dict, args={'vdu_name': 'VDU1'}) mock_heal_vnf.assert_called_once_with(self.context, vnf_dict['id'], heal_request_data_obj)
def test_heal_vnf_vdu(self, mock_update_hosting_vnf, mock_heal_vdu): self._insert_dummy_vnf_template() dummy_device_obj = self._insert_dummy_vnf() additional_params_obj = heal_vnf_request.HealVnfAdditionalParams( parameter='VDU1', cause=["Unable to reach while monitoring resource: 'VDU1'"]) heal_request_data_obj = heal_vnf_request.HealVnfRequest( cause='VNF monitoring fails.', additional_params=[additional_params_obj]) result = self.vnfm_plugin.heal_vnf(self.context, dummy_device_obj['id'], heal_request_data_obj) self.assertIsNotNone(result) self.assertEqual(dummy_device_obj['id'], result['id']) self.assertIn('instance_id', result) self.assertIn('status', result) self.assertIn('attributes', result) self.assertIn('mgmt_ip_address', result) self.assertIn('updated_at', result) self.assertEqual('ACTIVE', result['status']) mock_heal_vdu.assert_called_with( plugin=self.vnfm_plugin, context=self.context, vnf_dict=mock.ANY, heal_request_data_obj=heal_request_data_obj)
def setUp(self): super(TestVDU, self).setUp() self.context = context.get_admin_context() self._mock_heat_client() mock.patch('tacker.vnfm.vim_client.VimClient.get_vim').start() self.additional_paramas_obj = heal_vnf_request.HealVnfAdditionalParams( parameter='VDU1', cause=["Unable to reach while monitoring resource: 'VDU1'"]) self.heal_request_data_obj = heal_vnf_request.HealVnfRequest( cause='VNF monitoring fails.', additional_params=[self.additional_paramas_obj]) self.heal_vdu = vdu.Vdu(self.context, vnf_dict, self.heal_request_data_obj) mock.patch('tacker.db.common_services.common_services_db_plugin.' 'CommonServicesPluginDb.create_event').start() self._cos_db_plugin = \ common_services_db_plugin.CommonServicesPluginDb() self.addCleanup(mock.patch.stopall)