### Question:
Ackd implements SpringServiceDaemon, DisposableBean { @EventHandler(uei=EventConstants.ACKNOWLEDGE_EVENT_UEI) public void handleAckEvent(Event event) { log().info("handleAckEvent: Received acknowledgment event: "+event); OnmsAcknowledgment ack; try { ack = new OnmsAcknowledgment(event); m_ackService.processAck(ack); } catch (ParseException e) { log().error("handleAckEvent: unable to process acknowledgment event: "+event+"\t"+e); } }  void start(); void destroy(); @EventHandler(uei=EventConstants.ACKNOWLEDGE_EVENT_UEI) void handleAckEvent(Event event); @EventHandler(uei=EventConstants.RELOAD_DAEMON_CONFIG_UEI) void handleReloadConfigEvent(Event event); void setExecutor(ScheduledThreadPoolExecutor executor); ScheduledThreadPoolExecutor getExecutor(); EventForwarder getEventForwarder(); void setEventForwarder(EventForwarder eventForwarder); void setAckReaders(List<AckReader> ackReaders); AckService getAckService(); void setAckService(AckService ackService); AckdConfigurationDao getConfigDao(); void setConfigDao(AckdConfigurationDao config); @Override void afterPropertiesSet(); String getName(); static final String NAME; }### Answer:
@Test public void testHandelEvent() throws InterruptedException { VerificationObject vo = createAckStructure(); EventBuilder bldr = new EventBuilder(EventConstants.ACKNOWLEDGE_EVENT_UEI, "AckdTest"); bldr.addParam("ackType", String.valueOf(AckType.ALARM)); bldr.addParam("refId", vo.m_alarmId); final String user = "ackd-test-user"; bldr.addParam("user", user); m_daemon.handleAckEvent(bldr.getEvent()); OnmsNotification notif = m_notificationDao.get(vo.m_notifId); Assert.assertEquals(notif.getAckUser(), user); OnmsAlarm alarm = m_alarmDao.get(vo.m_alarmId); Assert.assertEquals(alarm.getAckUser(), user); }