@Test @Transactional public void testActions() { OnmsEvent event = new OnmsEvent(); event.setEventLog("Y"); event.setEventDisplay("Y"); event.setEventCreateTime(new Date()); event.setDistPoller(m_distPollerDao.load("localhost")); event.setEventTime(new Date()); event.setEventSeverity(Integer.valueOf(6)); event.setEventUei("uei://org/opennms/test/EventDaoTest"); event.setEventSource("test"); m_eventDao.save(event); OnmsNode node = m_nodeDao.findAll().iterator().next(); OnmsAlarm alarm = new OnmsAlarm(); alarm.setNode(node); alarm.setUei(event.getEventUei()); alarm.setSeverity(OnmsSeverity.get(event.getEventSeverity())); alarm.setSeverityId(event.getEventSeverity()); alarm.setFirstEventTime(event.getEventTime()); alarm.setLastEvent(event); alarm.setCounter(1); alarm.setDistPoller(m_distPollerDao.load("localhost")); m_alarmDao.save(alarm); OnmsAlarm newAlarm = m_alarmDao.load(alarm.getId()); assertEquals("uei://org/opennms/test/EventDaoTest", newAlarm.getUei()); assertEquals(alarm.getLastEvent().getId(), newAlarm.getLastEvent().getId()); assertEquals(OnmsSeverity.MAJOR, newAlarm.getSeverity()); newAlarm.escalate("admin"); assertEquals(OnmsSeverity.CRITICAL, newAlarm.getSeverity()); newAlarm.clear("admin"); assertEquals(OnmsSeverity.CLEARED, newAlarm.getSeverity()); newAlarm.unacknowledge("admin"); assertNull(newAlarm.getAckUser()); assertNull(newAlarm.getAlarmAckTime()); }
@Test @Transactional public void testSave() { OnmsEvent event = new OnmsEvent(); event.setEventLog("Y"); event.setEventDisplay("Y"); event.setEventCreateTime(new Date()); event.setDistPoller(m_distPollerDao.load("localhost")); event.setEventTime(new Date()); event.setEventSeverity(new Integer(7)); event.setEventUei("uei://org/opennms/test/EventDaoTest"); event.setEventSource("test"); m_eventDao.save(event); OnmsNode node = m_nodeDao.findAll().iterator().next(); OnmsAlarm alarm = new OnmsAlarm(); alarm.setNode(node); alarm.setUei(event.getEventUei()); alarm.setSeverityId(event.getEventSeverity()); alarm.setFirstEventTime(event.getEventTime()); alarm.setLastEvent(event); alarm.setCounter(1); alarm.setDistPoller(m_distPollerDao.load("localhost")); m_alarmDao.save(alarm); // It works we're so smart! hehe OnmsAlarm newAlarm = m_alarmDao.load(alarm.getId()); assertEquals("uei://org/opennms/test/EventDaoTest", newAlarm.getUei()); assertEquals(alarm.getLastEvent().getId(), newAlarm.getLastEvent().getId()); Collection<OnmsAlarm> alarms; Criteria criteria = new Criteria(OnmsAlarm.class); criteria.addRestriction(new EqRestriction("node.id", node.getId())); alarms = m_alarmDao.findMatching(criteria); assertEquals(1, alarms.size()); newAlarm = alarms.iterator().next(); assertEquals("uei://org/opennms/test/EventDaoTest", newAlarm.getUei()); assertEquals(alarm.getLastEvent().getId(), newAlarm.getLastEvent().getId()); }
@Test @Transactional public void testAlarmSummary_AlarmWithNoEvent() { OnmsNode node = m_nodeDao.findAll().iterator().next(); OnmsAlarm alarm = new OnmsAlarm(); alarm.setNode(node); alarm.setUei("uei://org/opennms/test/badAlarmTest"); alarm.setSeverityId(new Integer(7)); alarm.setCounter(1); alarm.setDistPoller(m_distPollerDao.load("localhost")); m_alarmDao.save(alarm); List<AlarmSummary> summary = m_alarmDao.getNodeAlarmSummaries(); Assert.assertNotNull(summary); Assert.assertEquals(1, summary.size()); AlarmSummary sum = summary.get(0); Assert.assertEquals(node.getLabel(), sum.getNodeLabel()); Assert.assertEquals(alarm.getSeverity().getId(), sum.getMaxSeverity().getId()); Assert.assertEquals("N/A", sum.getFuzzyTimeDown()); }
@Test @Transactional @Ignore public void testWithoutDistPoller() { OnmsEvent event = new OnmsEvent(); event.setEventLog("Y"); event.setEventDisplay("Y"); event.setEventCreateTime(new Date()); event.setDistPoller(m_distPollerDao.load("localhost")); event.setEventTime(new Date()); event.setEventSeverity(new Integer(7)); event.setEventUei("uei://org/opennms/test/EventDaoTest"); event.setEventSource("test"); m_eventDao.save(event); OnmsNode node = m_nodeDao.findAll().iterator().next(); OnmsAlarm alarm = new OnmsAlarm(); alarm.setNode(node); alarm.setUei(event.getEventUei()); alarm.setSeverityId(event.getEventSeverity()); alarm.setFirstEventTime(event.getEventTime()); alarm.setLastEvent(event); alarm.setCounter(1); ThrowableAnticipator ta = new ThrowableAnticipator(); ta.anticipate( new DataIntegrityViolationException( "not-null property references a null or transient value: org.opennms.netmgt.model.OnmsAlarm.distPoller; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: org.opennms.netmgt.model.OnmsAlarm.distPoller")); try { m_alarmDao.save(alarm); } catch (Throwable t) { ta.throwableReceived(t); } ta.verifyAnticipated(); }
@Test @Transactional public void testAlarmSummary() { OnmsEvent event = new OnmsEvent(); event.setEventLog("Y"); event.setEventDisplay("Y"); event.setEventCreateTime(new Date()); event.setDistPoller(m_distPollerDao.load("localhost")); event.setEventTime(new Date()); event.setEventSeverity(new Integer(7)); event.setEventUei("uei://org/opennms/test/EventDaoTest"); event.setEventSource("test"); m_eventDao.save(event); OnmsNode node = m_nodeDao.findAll().iterator().next(); OnmsAlarm alarm = new OnmsAlarm(); alarm.setNode(node); alarm.setUei(event.getEventUei()); alarm.setSeverityId(event.getEventSeverity()); alarm.setFirstEventTime(event.getEventTime()); alarm.setLastEvent(event); alarm.setCounter(1); alarm.setDistPoller(m_distPollerDao.load("localhost")); m_alarmDao.save(alarm); List<AlarmSummary> summary = m_alarmDao.getNodeAlarmSummaries(); Assert.assertNotNull(summary); Assert.assertEquals(1, summary.size()); AlarmSummary sum = summary.get(0); Assert.assertEquals(node.getLabel(), sum.getNodeLabel()); Assert.assertEquals(alarm.getSeverity().getId(), sum.getMaxSeverity().getId()); Assert.assertNotSame("N/A", sum.getFuzzyTimeDown()); }