Search in sources :

Example 51 with ByteArrayResource

use of org.springframework.core.io.ByteArrayResource in project opennms by OpenNMS.

the class JmsConfigDaoTest method testAsXmlQueueFirstAlarmSomeUeis.

/**
 * Test as XML queue first alarm some UEIs.
 *
 * @throws InterruptedException the interrupted exception
 */
@Test
public void testAsXmlQueueFirstAlarmSomeUeis() throws InterruptedException {
    Resource resource = new ByteArrayResource(xmlAsXmlFirstOnlySomeUeis.getBytes());
    JmsNorthbounderConfigDao dao = new JmsNorthbounderConfigDao();
    dao.setConfigResource(resource);
    dao.afterPropertiesSet();
    JmsNorthbounderConfig config = dao.getConfig();
    assertNotNull(config);
    assertEquals(true, config.isEnabled());
    assertEquals(new Integer("1000"), config.getNaglesDelay());
    assertEquals(new Integer(100), config.getBatchSize());
    assertEquals(new Integer(300000), config.getQueueSize());
    assertEquals("ALARM ID:${alarmId} NODE:${nodeLabel}", config.getMessageFormat());
    JmsDestination jmsDestination = config.getDestinations().get(0);
    assertNotNull(jmsDestination);
    assertEquals("OpenNMSAlarmQueue", jmsDestination.getJmsDestination());
    assertEquals("QUEUE", jmsDestination.getDestinationType().toString());
    assertEquals(true, jmsDestination.isFirstOccurrenceOnly());
    assertEquals(false, jmsDestination.isSendAsObjectMessageEnabled());
    assertEquals(null, jmsDestination.getMessageFormat());
    assertEquals("uei.opennms.org/nodes/nodeDown", config.getUeis().get(0));
    assertEquals("uei.opennms.org/nodes/nodeUp", config.getUeis().get(1));
}
Also used : JmsNorthbounderConfig(org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfig) JmsNorthbounderConfigDao(org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfigDao) ByteArrayResource(org.springframework.core.io.ByteArrayResource) Resource(org.springframework.core.io.Resource) ByteArrayResource(org.springframework.core.io.ByteArrayResource) JmsDestination(org.opennms.netmgt.alarmd.northbounder.jms.JmsDestination) Test(org.junit.Test)

Example 52 with ByteArrayResource

use of org.springframework.core.io.ByteArrayResource in project opennms by OpenNMS.

the class JmsNorthBounderTest method testObjectMessage.

@Test
public void testObjectMessage() throws Exception {
    String xml = objectMessageConfigXml();
    Resource resource = new ByteArrayResource(xml.getBytes());
    JmsNorthbounderConfigDao dao = new JmsNorthbounderConfigDao();
    dao.setConfigResource(resource);
    dao.afterPropertiesSet();
    JmsNorthbounderConfig config = dao.getConfig();
    List<JmsDestination> destinations = config.getDestinations();
    List<JmsNorthbounder> nbis = new LinkedList<>();
    for (JmsDestination jmsDestination : destinations) {
        JmsNorthbounder nbi = new JmsNorthbounder(config, m_jmsNorthbounderConnectionFactory, jmsDestination);
        // nbi.setNodeDao(m_nodeDao);
        nbi.afterPropertiesSet();
        nbis.add(nbi);
    }
    List<NorthboundAlarm> alarms = new LinkedList<>();
    OnmsNode node = new OnmsNode(null, NODE_LABEL);
    node.setForeignSource("TestGroup");
    node.setForeignId("2");
    node.setId(m_nodeDao.getNextNodeId());
    OnmsIpInterface ip = new OnmsIpInterface("127.0.0.1", node);
    InetAddress ia = null;
    try {
        ia = InetAddress.getByName("127.0.0.1");
    } catch (UnknownHostException e) {
    }
    m_nodeDao.save(node);
    m_nodeDao.flush();
    // TX via NBIs
    for (JmsNorthbounder nbi : nbis) {
        OnmsEvent event = new OnmsEvent();
        event.setId(5);
        event.setEventUei("uei.uei.org/uei");
        event.setEventTime(new Date());
        event.setEventHost("eventhost");
        event.setEventSource("eventsource");
        event.setIpAddr(ia);
        event.setDistPoller(null);
        event.setEventSnmpHost("eventsnmphost");
        event.setServiceType(null);
        event.setEventSnmp("eventsnmp");
        event.setEventParameters(Lists.newArrayList(new OnmsEventParameter(event, "syslogmessage", "Dec 22 2015 20:12:57.1 UTC :  %UC_CTI-3-CtiProviderOpenFailure: %[CTIconnectionId%61232238][ Login User Id%61pguser][Reason code.%61-1932787616][UNKNOWN_PARAMNAME:IPAddress%61172.17.12.73][UNKNOWN_PARAMNAME:IPv6Address%61][App ID%61Cisco CTIManager][Cluster ID%61SplkCluster][Node ID%61splkcucm6p]: CTI application failed to open provider%59 application startup failed", "string"), new OnmsEventParameter(event, "severity", "Error", "string"), new OnmsEventParameter(event, "timestamp", "Dec 22 14:13:21", "string"), new OnmsEventParameter(event, "process", "229250", "string"), new OnmsEventParameter(event, "service", "local7", "string")));
        event.setEventCreateTime(new Date());
        event.setEventDescr("eventdescr");
        event.setEventLogGroup("eventloggroup");
        event.setEventLogMsg("eventlogmsg");
        event.setEventSeverity(4);
        event.setEventPathOutage(null);
        event.setEventCorrelation(null);
        event.setEventSuppressedCount(0);
        event.setEventOperInstruct("operinstruct");
        event.setEventAutoAction(null);
        event.setEventOperAction(null);
        event.setEventOperActionMenuText(null);
        event.setEventNotification(null);
        event.setEventTTicket("tticketid");
        event.setEventTTicketState(1);
        event.setEventForward(null);
        event.setEventMouseOverText(null);
        event.setEventLog(null);
        event.setEventDisplay(null);
        event.setEventAckUser(null);
        event.setEventAckTime(null);
        event.setAlarm(null);
        event.setNode(node);
        event.setNotifications(null);
        event.setAssociatedServiceRegainedOutages(null);
        event.setAssociatedServiceLostOutages(null);
        OnmsAlarm alarm = new OnmsAlarm(9, event.getEventUei(), null, 1, 4, new Date(), event);
        alarm.setNode(node);
        alarm.setDescription(event.getEventDescr());
        alarm.setApplicationDN("applicationDN");
        alarm.setLogMsg(event.getEventLogMsg());
        alarm.setManagedObjectInstance("managedObjectInstance");
        alarm.setManagedObjectType("managedObjectType");
        alarm.setOssPrimaryKey("ossPrimaryKey");
        alarm.setQosAlarmState("qosAlarmState");
        alarm.setTTicketId("tticketId");
        alarm.setReductionKey("reductionKey");
        alarm.setClearKey("clearKey");
        alarm.setOperInstruct("operInstruct");
        alarm.setFirstEventTime(new Date(0));
        alarm.setAlarmType(OnmsAlarm.PROBLEM_TYPE);
        alarm.setIpAddr(ia);
        alarm.setLastEvent(event);
        alarm.setX733AlarmType(NorthboundAlarm.x733AlarmType.get(1).name());
        alarm.setX733ProbableCause(NorthboundAlarm.x733ProbableCause.get(1).getId());
        NorthboundAlarm a = new NorthboundAlarm(alarm);
        alarms.add(a);
        nbi.forwardAlarms(alarms);
    }
    Thread.sleep(100);
    // Let's become a consumer and receive the message
    Message m = m_template.receive("ObjectTestQueue");
    Assert.assertNotNull(m);
    Object response = ((ObjectMessage) m).getObject();
    Assert.assertNotNull(response);
    Assert.assertTrue("message\n'" + response + "'\n not a NorthboundAlarm\n'" + "'.", (response instanceof NorthboundAlarm));
    String rk = ((NorthboundAlarm) response).getAlarmKey();
    Assert.assertEquals("received alarm has incorrect reduction key: " + rk, "reductionKey", rk);
}
Also used : OnmsNode(org.opennms.netmgt.model.OnmsNode) UnknownHostException(java.net.UnknownHostException) ObjectMessage(javax.jms.ObjectMessage) Message(javax.jms.Message) TextMessage(javax.jms.TextMessage) JmsNorthbounderConfig(org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfig) OnmsAlarm(org.opennms.netmgt.model.OnmsAlarm) JmsNorthbounderConfigDao(org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfigDao) ByteArrayResource(org.springframework.core.io.ByteArrayResource) Resource(org.springframework.core.io.Resource) NorthboundAlarm(org.opennms.netmgt.alarmd.api.NorthboundAlarm) ByteArrayResource(org.springframework.core.io.ByteArrayResource) LinkedList(java.util.LinkedList) Date(java.util.Date) OnmsEvent(org.opennms.netmgt.model.OnmsEvent) OnmsIpInterface(org.opennms.netmgt.model.OnmsIpInterface) JmsNorthbounder(org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounder) ObjectMessage(javax.jms.ObjectMessage) OnmsEventParameter(org.opennms.netmgt.model.OnmsEventParameter) JmsDestination(org.opennms.netmgt.alarmd.northbounder.jms.JmsDestination) InetAddress(java.net.InetAddress) Test(org.junit.Test)

Example 53 with ByteArrayResource

use of org.springframework.core.io.ByteArrayResource in project opennms by OpenNMS.

the class SyslogConfigDaoTest method testLoadNoUeis.

/**
 * Test load no UEIs.
 */
@Test
public void testLoadNoUeis() {
    Resource resource = new ByteArrayResource(xmlNoUeis.getBytes());
    SyslogNorthbounderConfigDao dao = new SyslogNorthbounderConfigDao();
    dao.setConfigResource(resource);
    dao.afterPropertiesSet();
    SyslogNorthbounderConfig config = dao.getConfig();
    assertNotNull(config);
    assertEquals(null, config.getUeis());
    assertTrue(config.getDestinations().get(0).isFirstOccurrenceOnly());
}
Also used : FileSystemResource(org.springframework.core.io.FileSystemResource) ByteArrayResource(org.springframework.core.io.ByteArrayResource) Resource(org.springframework.core.io.Resource) ByteArrayResource(org.springframework.core.io.ByteArrayResource) Test(org.junit.Test)

Example 54 with ByteArrayResource

use of org.springframework.core.io.ByteArrayResource in project opennms by OpenNMS.

the class SyslogNorthBounderTest method testForwardAlarms.

/**
 * This tests forwarding of 7 alarms, one for each OpenNMS severity to
 * verify the LOG_LEVEL agrees with the Severity based on our algorithm.
 *
 * @throws Exception the exception
 */
@Test
public void testForwardAlarms() throws Exception {
    String xml = generateConfigXml();
    Resource resource = new ByteArrayResource(xml.getBytes());
    SyslogNorthbounderConfigDao dao = new SyslogNorthbounderConfigDao();
    dao.setConfigResource(resource);
    dao.afterPropertiesSet();
    SyslogNorthbounderConfig config = dao.getConfig();
    List<SyslogNorthbounder> nbis = new LinkedList<>();
    for (SyslogDestination syslogDestination : config.getDestinations()) {
        SyslogNorthbounder nbi = new SyslogNorthbounder(dao, syslogDestination.getName());
        nbi.afterPropertiesSet();
        nbis.add(nbi);
    }
    int j = 7;
    List<NorthboundAlarm> alarms = new LinkedList<>();
    OnmsNode node = new OnmsNode(m_locationDao.getDefaultLocation(), "p-brane");
    node.setForeignSource("TestGroup");
    node.setForeignId("1");
    node.setId(m_nodeDao.getNextNodeId());
    OnmsSnmpInterface snmpInterface = new OnmsSnmpInterface(node, 1);
    snmpInterface.setId(1);
    snmpInterface.setIfAlias("Connection to OpenNMS Wifi");
    snmpInterface.setIfDescr("en1");
    snmpInterface.setIfName("en1/0");
    snmpInterface.setPhysAddr("00:00:00:00:00:01");
    Set<OnmsIpInterface> ipInterfaces = new LinkedHashSet<OnmsIpInterface>(j);
    InetAddress address = InetAddress.getByName("10.0.1.1");
    OnmsIpInterface onmsIf = new OnmsIpInterface(address, node);
    onmsIf.setSnmpInterface(snmpInterface);
    onmsIf.setId(1);
    onmsIf.setIfIndex(1);
    onmsIf.setIpHostName("p-brane");
    onmsIf.setIsSnmpPrimary(PrimaryType.PRIMARY);
    ipInterfaces.add(onmsIf);
    node.setIpInterfaces(ipInterfaces);
    m_nodeDao.save(node);
    m_nodeDao.flush();
    for (SyslogNorthbounder nbi : nbis) {
        for (int i = 1; i <= j; ++i) {
            OnmsAlarm onmsAlarm = new OnmsAlarm();
            onmsAlarm.setId(i);
            onmsAlarm.setUei("uei.opennms.org/test/syslogNorthBounder");
            onmsAlarm.setNode(node);
            onmsAlarm.setSeverityId(i);
            onmsAlarm.setIpAddr(InetAddress.getByName("127.0.0.1"));
            onmsAlarm.setCounter(i);
            onmsAlarm.setLogMsg("Node Down");
            onmsAlarm.setX733AlarmType(NorthboundAlarm.x733AlarmType.get(i).name());
            onmsAlarm.setX733ProbableCause(NorthboundAlarm.x733ProbableCause.get(i).getId());
            NorthboundAlarm a = new NorthboundAlarm(onmsAlarm);
            Assert.assertFalse(nbi.accepts(a));
            onmsAlarm.setUei("uei.opennms.org/nodes/nodeDown");
            a = new NorthboundAlarm(onmsAlarm);
            Assert.assertTrue(nbi.accepts(a));
            alarms.add(a);
        }
        nbi.forwardAlarms(alarms);
    }
    Thread.sleep(100);
    BufferedReader r = new BufferedReader(new StringReader(m_logStream.readStream()));
    List<String> messages = new LinkedList<>();
    String line = null;
    while ((line = r.readLine()) != null) {
        messages.add(line);
        Thread.sleep(10);
    }
    Assert.assertTrue("Log messages sent: 7, Log messages received: " + messages.size(), 7 == messages.size());
    for (String message : messages) {
        System.out.println(message);
    }
    int i = 0;
    for (String message : messages) {
        if (i == 0) {
            i++;
            continue;
        }
        switch(i) {
            case 1:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_INFO.", message.contains("INFO"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
            case 2:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_NOTICE.", message.contains("NOTICE"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
            case 3:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_WARN.", message.contains("WARN"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
            case 4:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_ERROR.", message.contains("ERROR"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
            case 5:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_ERROR.", message.contains("ERROR"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
            case 6:
                Assert.assertTrue("Alarm (OnmsSeverity: " + OnmsSeverity.get(i) + ") = LEVEL_CRITICAL.", message.contains("CRITICAL"));
                Assert.assertTrue(message.contains("NODE:p-brane"));
                break;
        }
        i++;
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) OnmsNode(org.opennms.netmgt.model.OnmsNode) OnmsAlarm(org.opennms.netmgt.model.OnmsAlarm) ByteArrayResource(org.springframework.core.io.ByteArrayResource) Resource(org.springframework.core.io.Resource) NorthboundAlarm(org.opennms.netmgt.alarmd.api.NorthboundAlarm) OnmsSnmpInterface(org.opennms.netmgt.model.OnmsSnmpInterface) ByteArrayResource(org.springframework.core.io.ByteArrayResource) LinkedList(java.util.LinkedList) OnmsIpInterface(org.opennms.netmgt.model.OnmsIpInterface) BufferedReader(java.io.BufferedReader) StringReader(java.io.StringReader) InetAddress(java.net.InetAddress) Test(org.junit.Test)

Example 55 with ByteArrayResource

use of org.springframework.core.io.ByteArrayResource in project opennms by OpenNMS.

the class OpenNMSITCase method setUp.

@Before
public void setUp() throws Exception {
    MockUtil.println("------------ Begin Test " + this + " --------------------------");
    MockLogAppender.setupLogging();
    if (m_runSupers) {
        createMockNetwork();
        populateDatabase();
        DataSourceFactory.setInstance(m_db);
        SnmpPeerFactory.setInstance(new SnmpPeerFactory(new ByteArrayResource(getSnmpConfig().getBytes())));
        if (isStartEventd()) {
            m_eventdIpcMgr = new EventIpcManagerDefaultImpl(m_registry);
            EventUtilJdbcImpl eventUtil = new EventUtilJdbcImpl();
            AbstractEventUtil.setInstance(eventUtil);
            JdbcEventdServiceManager eventdServiceManager = new JdbcEventdServiceManager();
            eventdServiceManager.setDataSource(m_db);
            eventdServiceManager.afterPropertiesSet();
            /*
                 * Make sure we specify a full resource path since "this" is
                 * the unit test class, which is most likely in another package. 
                 */
            File configFile = ConfigurationTestUtils.getFileForResource(this, "/org/opennms/netmgt/mock/eventconf.xml");
            DefaultEventConfDao eventConfDao = new DefaultEventConfDao();
            eventConfDao.setConfigResource(new FileSystemResource(configFile));
            eventConfDao.afterPropertiesSet();
            EventExpander eventExpander = new EventExpander(m_registry);
            eventExpander.setEventConfDao(eventConfDao);
            eventExpander.setEventUtil(eventUtil);
            eventExpander.afterPropertiesSet();
            EventIpcBroadcastProcessor eventIpcBroadcastProcessor = new EventIpcBroadcastProcessor(m_registry);
            eventIpcBroadcastProcessor.setEventIpcBroadcaster(m_eventdIpcMgr);
            eventIpcBroadcastProcessor.afterPropertiesSet();
            List<EventProcessor> eventProcessors = new ArrayList<EventProcessor>(3);
            eventProcessors.add(eventExpander);
            eventProcessors.add(eventIpcBroadcastProcessor);
            DefaultEventHandlerImpl eventHandler = new DefaultEventHandlerImpl(m_registry);
            eventHandler.setEventProcessors(eventProcessors);
            eventHandler.afterPropertiesSet();
            m_eventdIpcMgr.setHandlerPoolSize(5);
            m_eventdIpcMgr.setEventHandler(eventHandler);
            m_eventdIpcMgr.afterPropertiesSet();
            m_eventProxy = m_eventdIpcMgr;
            EventIpcManagerFactory.setIpcManager(m_eventdIpcMgr);
            EventIpcManagerEventHandlerProxy proxy = new EventIpcManagerEventHandlerProxy();
            proxy.setEventIpcManager(m_eventdIpcMgr);
            proxy.afterPropertiesSet();
            List<EventHandler> eventHandlers = new ArrayList<EventHandler>(1);
            eventHandlers.add(proxy);
            m_eventd = new Eventd();
            m_eventd.setEventdServiceManager(eventdServiceManager);
            m_eventd.setReceiver(new BroadcastEventProcessor(m_eventdIpcMgr, eventConfDao));
            m_eventd.init();
            m_eventd.start();
        }
    }
    m_transMgr = new DataSourceTransactionManager(DataSourceFactory.getInstance());
}
Also used : EventExpander(org.opennms.netmgt.eventd.EventExpander) EventIpcManagerEventHandlerProxy(org.opennms.netmgt.eventd.adaptors.EventIpcManagerEventHandlerProxy) JdbcEventdServiceManager(org.opennms.netmgt.dao.mock.JdbcEventdServiceManager) Eventd(org.opennms.netmgt.eventd.Eventd) SnmpPeerFactory(org.opennms.netmgt.config.SnmpPeerFactory) ArrayList(java.util.ArrayList) EventHandler(org.opennms.netmgt.eventd.adaptors.EventHandler) ByteArrayResource(org.springframework.core.io.ByteArrayResource) EventIpcManagerDefaultImpl(org.opennms.netmgt.eventd.EventIpcManagerDefaultImpl) FileSystemResource(org.springframework.core.io.FileSystemResource) DefaultEventConfDao(org.opennms.netmgt.config.DefaultEventConfDao) DefaultEventHandlerImpl(org.opennms.netmgt.eventd.DefaultEventHandlerImpl) EventIpcBroadcastProcessor(org.opennms.netmgt.eventd.processor.EventIpcBroadcastProcessor) BroadcastEventProcessor(org.opennms.netmgt.eventd.BroadcastEventProcessor) EventProcessor(org.opennms.netmgt.events.api.EventProcessor) BroadcastEventProcessor(org.opennms.netmgt.eventd.BroadcastEventProcessor) File(java.io.File) DataSourceTransactionManager(org.springframework.jdbc.datasource.DataSourceTransactionManager) Before(org.junit.Before)

Aggregations

ByteArrayResource (org.springframework.core.io.ByteArrayResource)95 Test (org.junit.Test)67 Resource (org.springframework.core.io.Resource)32 Properties (java.util.Properties)26 IOException (java.io.IOException)6 InputStream (java.io.InputStream)6 JmsNorthbounderConfig (org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfig)6 JmsNorthbounderConfigDao (org.opennms.netmgt.alarmd.northbounder.jms.JmsNorthbounderConfigDao)6 InetAddress (java.net.InetAddress)5 ArrayList (java.util.ArrayList)5 LinkedList (java.util.LinkedList)5 Before (org.junit.Before)5 NorthboundAlarm (org.opennms.netmgt.alarmd.api.NorthboundAlarm)5 JmsDestination (org.opennms.netmgt.alarmd.northbounder.jms.JmsDestination)5 OnmsAlarm (org.opennms.netmgt.model.OnmsAlarm)5 OnmsIpInterface (org.opennms.netmgt.model.OnmsIpInterface)5 OnmsNode (org.opennms.netmgt.model.OnmsNode)5 LinkedHashMap (java.util.LinkedHashMap)4 Map (java.util.Map)4 MutablePropertySources (org.springframework.core.env.MutablePropertySources)4