public void testCreate() throws Exception { setupCollector("SNMP", false); setupTransactionManager(); // Use a mock scheduler to track calls to the Collectd scheduler Scheduler m_scheduler = m_easyMockUtils.createMock(Scheduler.class); m_collectd.setScheduler(m_scheduler); // Expect one task to be scheduled m_scheduler.schedule(eq(0L), isA(ReadyRunnable.class)); // Expect the scheduler to be started and stopped during Collectd // start() and stop() m_scheduler.start(); m_scheduler.stop(); m_easyMockUtils.replayAll(); // Initialize Collectd m_collectd.afterPropertiesSet(); // Start and stop collectd m_collectd.start(); m_collectd.stop(); m_easyMockUtils.verifyAll(); }
@Override protected void setUp() throws Exception { EventIpcManager m_eventIpcManager; NodeDao m_nodeDao; MockLogAppender.setupLogging(); Resource threshdResource = new ClassPathResource("/etc/thresholds.xml"); File homeDir = threshdResource.getFile().getParentFile().getParentFile(); System.setProperty("opennms.home", homeDir.getAbsolutePath()); // Test setup m_eventIpcManager = m_easyMockUtils.createMock(EventIpcManager.class); EventIpcManagerFactory.setIpcManager(m_eventIpcManager); m_nodeDao = m_easyMockUtils.createMock(NodeDao.class); m_ipIfDao = m_easyMockUtils.createMock(IpInterfaceDao.class); m_scheduler = new MockScheduler(); m_eventIpcManager.addEventListener(isA(EventListener.class)); expectLastCall().anyTimes(); m_eventIpcManager.addEventListener(isA(EventListener.class), isACollection(String.class)); expectLastCall().anyTimes(); m_eventIpcManager.addEventListener(isA(EventListener.class), isA(String.class)); expectLastCall().anyTimes(); m_eventIpcManager.removeEventListener(isA(EventListener.class)); expectLastCall().anyTimes(); // MockNetwork m_network = new MockNetwork(); // m_network.setCriticalService("ICMP"); // m_network.addNode(1, "Router"); // m_network.addInterface("192.168.1.1"); // m_network.addService("ICMP"); // m_network.addService("SMTP"); // m_network.addInterface("192.168.1.2"); // m_network.addService("ICMP"); // m_network.addService("SMTP"); // m_network.addNode(2, "Server"); // m_network.addInterface("192.168.1.3"); // m_network.addService("ICMP"); // m_network.addService("HTTP"); // m_network.addNode(3, "Firewall"); // m_network.addInterface("192.168.1.4"); // m_network.addService("SMTP"); // m_network.addService("HTTP"); // m_network.addInterface("192.168.1.5"); // m_network.addService("SMTP"); // m_network.addService("HTTP"); // // MockDatabase m_db = new MockDatabase(); // m_db.populate(m_network); // // DataSourceFactory.setInstance(m_db); // Mock the FilterDao without using EasyMockUtils so that it can be verified separately m_filterDao = EasyMock.createMock(FilterDao.class); List<InetAddress> allIps = new ArrayList<InetAddress>(); allIps.add(addr("192.168.1.1")); allIps.add(addr("192.168.1.2")); allIps.add(addr("192.168.1.3")); allIps.add(addr("192.168.1.4")); allIps.add(addr("192.168.1.5")); expect(m_filterDao.getActiveIPAddressList("IPADDR IPLIKE *.*.*.*")) .andReturn(allIps) .anyTimes(); expect(m_filterDao.getActiveIPAddressList("IPADDR IPLIKE 1.1.1.1")) .andReturn(new ArrayList<InetAddress>(0)) .anyTimes(); EasyMock.replay(m_filterDao); FilterDaoFactory.setInstance(m_filterDao); // This call will also ensure that the poll-outages.xml file can parse IPv4 // and IPv6 addresses. Resource resource = new ClassPathResource("etc/poll-outages.xml"); PollOutagesConfigFactory factory = new PollOutagesConfigFactory(resource); factory.afterPropertiesSet(); PollOutagesConfigFactory.setInstance(factory); final MockTransactionTemplate transTemplate = new MockTransactionTemplate(); transTemplate.afterPropertiesSet(); m_collectd = new Collectd(); m_collectd.setEventIpcManager(m_eventIpcManager); // m_collectd.setCollectdConfigFactory(m_collectdConfigFactory); m_collectd.setNodeDao(m_nodeDao); m_collectd.setIpInterfaceDao(m_ipIfDao); m_collectd.setFilterDao(m_filterDao); m_collectd.setScheduler(m_scheduler); m_collectd.setTransactionTemplate(transTemplate); // m_collectd.afterPropertiesSet(); ThresholdingConfigFactory.setInstance( new ThresholdingConfigFactory( ConfigurationTestUtils.getInputStreamForConfigFile("thresholds.xml"))); }