def add_instance_fault_from_exc(context, instance, fault, exc_info=None): """Adds the specified fault to the database.""" fault_obj = instance_fault_obj.InstanceFault(context=context) fault_obj.host = CONF.host fault_obj.instance_uuid = instance['uuid'] fault_obj.update(exception_to_dict(fault)) code = fault_obj.code fault_obj.details = _get_fault_details(exc_info, code) fault_obj.create()
def test_create(self, mock_create): mock_create.return_value = fake_faults['fake-uuid'][1] fault = instance_fault.InstanceFault(context=self.context) fault.instance_uuid = uuids.faults_instance fault.code = 456 fault.message = 'foo' fault.details = 'you screwed up' fault.host = 'myhost' fault.create() self.assertEqual(2, fault.id) mock_create.assert_called_once_with(self.context, {'instance_uuid': uuids.faults_instance, 'code': 456, 'message': 'foo', 'details': 'you screwed up', 'host': 'myhost'})
def fake_fault_obj(instance_uuid, code=404, message='HTTPNotFound', details='Stock details for test', **updates): fault = { 'id': 1, 'instance_uuid': instance_uuid, 'code': code, 'message': message, 'details': details, 'host': 'fake_host', 'deleted': False, 'created_at': datetime.datetime(2010, 10, 10, 12, 0, 0), 'updated_at': None, 'deleted_at': None } if updates: fault.update(updates) return inst_fault_obj.InstanceFault._from_db_object( inst_fault_obj.InstanceFault(), fault)
def _test_create(self, update_cells, mock_create, cells_fault_create): mock_create.return_value = fake_faults['fake-uuid'][1] fault = instance_fault.InstanceFault() fault.instance_uuid = 'fake-uuid' fault.code = 456 fault.message = 'foo' fault.details = 'you screwed up' fault.host = 'myhost' fault.create(self.context) self.assertEqual(2, fault.id) mock_create.assert_called_once_with( self.context, { 'instance_uuid': 'fake-uuid', 'code': 456, 'message': 'foo', 'details': 'you screwed up', 'host': 'myhost' }) if update_cells: cells_fault_create.assert_called_once_with( self.context, fake_faults['fake-uuid'][1]) else: self.assertFalse(cells_fault_create.called)
def test_create_already_created(self): fault = instance_fault.InstanceFault(context=self.context) fault.id = 1 self.assertRaises(exception.ObjectActionError, fault.create)