use of org.opennms.netmgt.mock.MockPersisterFactory in project opennms by OpenNMS.
the class PollerBackEndTest method setUp.
@Override
protected void setUp() throws Exception {
System.setProperty("opennms.home", "src/test/test-configurations/PollerBackEndTest-home");
m_monitoringLocationDao = m_mocks.createMock(MonitoringLocationDao.class);
m_locMonDao = m_mocks.createMock(LocationMonitorDao.class);
m_scanReportDao = m_mocks.createMock(ScanReportDao.class);
m_monSvcDao = m_mocks.createMock(MonitoredServiceDao.class);
m_pollerConfig = m_mocks.createMock(PollerConfig.class);
m_timeKeeper = m_mocks.createMock(TimeKeeper.class);
m_eventIpcManager = new MockEventIpcManager();
m_backEnd = new DefaultPollerBackEnd();
m_backEnd.setMonitoringLocationDao(m_monitoringLocationDao);
m_backEnd.setLocationMonitorDao(m_locMonDao);
m_backEnd.setScanReportDao(m_scanReportDao);
m_backEnd.setMonitoredServiceDao(m_monSvcDao);
m_backEnd.setPollerConfig(m_pollerConfig);
m_backEnd.setTimeKeeper(m_timeKeeper);
m_backEnd.setEventIpcManager(m_eventIpcManager);
m_backEnd.setDisconnectedTimeout(DISCONNECTED_TIMEOUT);
m_backEnd.setPersisterFactory(new MockPersisterFactory());
m_startTime = new Date(System.currentTimeMillis() - 600000);
expect(m_timeKeeper.getCurrentDate()).andReturn(m_startTime);
replay(m_timeKeeper);
m_backEnd.afterPropertiesSet();
verify(m_timeKeeper);
reset(m_timeKeeper);
// set up some objects that can be used to mock up the tests
// the location definition
m_locationDefinition = new OnmsMonitoringLocation();
m_locationDefinition.setMonitoringArea("Oakland");
m_locationDefinition.setLocationName("OAK");
m_locationDefinition.setPollingPackageNames(Collections.singletonList("OAKPackage"));
m_package = createPackage("OAKPackage", "ipaddr = '192.168.1.1'");
m_serviceSelector = new ServiceSelector(m_package.getFilter().getContent(), Arrays.asList(new String[] { "HTTP", "DNS" }));
m_httpSvcConfig = addService(m_package, "HTTP", 1234, "url", "http://www.opennms.org");
m_dnsSvcConfig = addService(m_package, "DNS", 5678, "hostname", "www.opennms.org");
m_locationMonitor = new OnmsLocationMonitor();
m_locationMonitor.setId(LOCATION_MONITOR_ID);
m_locationMonitor.setLocation(m_locationDefinition.getLocationName());
OnmsApplication application = new OnmsApplication();
application.setName(APPLICATION_NAME);
NetworkBuilder builder = new NetworkBuilder();
builder.addNode("testNode").setId(1);
builder.addInterface("192.168.1.1").setId(1);
m_httpService = builder.addService(new OnmsServiceType("HTTP"));
m_httpService.setId(1);
m_httpService.setApplications(Collections.singleton(application));
m_dnsService = builder.addService(new OnmsServiceType("DNS"));
m_dnsService.setId(2);
m_dnsService.setApplications(Collections.singleton(application));
m_monServices = new OnmsMonitoredService[] { m_httpService, m_dnsService };
long now = System.currentTimeMillis();
PollStatus httpResult = PollStatus.available(1000.0);
httpResult.setTimestamp(new Date(now - 300000));
m_httpCurrentStatus = new OnmsLocationSpecificStatus(m_locationMonitor, m_httpService, httpResult);
m_httpCurrentStatus.setId(1);
PollStatus dnsResult = PollStatus.unavailable("Non responsive");
dnsResult.setTimestamp(new Date(now - 300000));
m_dnsCurrentStatus = new OnmsLocationSpecificStatus(m_locationMonitor, m_dnsService, dnsResult);
m_dnsCurrentStatus.setId(2);
m_pollerDetails = new HashMap<String, String>();
m_pollerDetails.put("os.name", "WonkaOS");
m_pollerDetails.put("os.version", "1.2.3");
}
use of org.opennms.netmgt.mock.MockPersisterFactory in project opennms by OpenNMS.
the class PollableServiceConfigTest method testPollableServiceConfig.
@Test
public void testPollableServiceConfig() throws Exception {
final FilterDao fd = mock(FilterDao.class);
FilterDaoFactory.setInstance(fd);
InputStream is = new FileInputStream(new File("src/test/resources/etc/psm-poller-configuration.xml"));
PollerConfigFactory factory = new PollerConfigFactory(0, is, "localhost", false);
PollerConfigFactory.setInstance(factory);
IOUtils.closeQuietly(is);
PersisterFactory persisterFactory = new MockPersisterFactory();
ResourceStorageDao resourceStorageDao = new FilesystemResourceStorageDao();
final PollContext context = mock(PollContext.class);
final PollableNetwork network = new PollableNetwork(context);
final PollableNode node = network.createNodeIfNecessary(1, "foo", null);
final PollableInterface iface = new PollableInterface(node, InetAddressUtils.addr("127.0.0.1"));
final PollableService svc = new PollableService(iface, "MQ_API_DirectRte_v2");
final PollOutagesConfig pollOutagesConfig = mock(PollOutagesConfig.class);
final Package pkg = factory.getPackage("MapQuest");
final Timer timer = mock(Timer.class);
final PollableServiceConfig psc = new PollableServiceConfig(svc, factory, pollOutagesConfig, pkg, timer, persisterFactory, resourceStorageDao, m_locationAwarePollerClient);
PollStatus pollStatus = psc.poll();
assertThat(pollStatus.getReason(), not(containsString("Unexpected exception")));
}
use of org.opennms.netmgt.mock.MockPersisterFactory in project opennms by OpenNMS.
the class CollectdIntegrationTest method setUp.
@Before
public void setUp() throws Exception {
m_eventIpcManager = new MockEventIpcManager();
EventIpcManagerFactory.setIpcManager(m_eventIpcManager);
m_mockUtils = new EasyMockUtils();
m_filterDao = m_mockUtils.createMock(FilterDao.class);
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);
File homeDir = resource.getFile().getParentFile().getParentFile();
System.setProperty("opennms.home", homeDir.getAbsolutePath());
resource = new ClassPathResource("/test-thresholds.xml");
ThresholdingConfigFactory.setInstance(new ThresholdingConfigFactory(resource.getInputStream()));
// set up test using a string key
m_key = m_testName.getMethodName() + System.nanoTime();
m_tests.put(m_key, this);
// create a collector definition
Collector collector = new Collector();
collector.setService("SNMP");
collector.setClassName(MockServiceCollector.class.getName());
// pass the key to the collector definition so it can look up the associated test
Parameter param = new Parameter();
param.setKey(TEST_KEY_PARM_NAME);
param.setValue(m_key);
collector.addParameter(param);
m_collectdConfigFactory = m_mockUtils.createMock(CollectdConfigFactory.class);
m_collectdConfiguration = m_mockUtils.createMock(CollectdConfiguration.class);
EasyMock.expect(m_collectdConfigFactory.getCollectdConfig()).andReturn(m_collectdConfiguration).anyTimes();
EasyMock.expect(m_collectdConfiguration.getCollectors()).andReturn(Collections.singletonList(collector)).anyTimes();
EasyMock.expect(m_collectdConfiguration.getThreads()).andReturn(1).anyTimes();
m_ifaceDao = m_mockUtils.createMock(IpInterfaceDao.class);
m_nodeDao = m_mockUtils.createMock(NodeDao.class);
m_collectd = new Collectd() {
@Override
protected void handleInsufficientInfo(InsufficientInformationException e) {
fail("Invalid event received: " + e.getMessage());
}
};
OnmsServiceType snmp = new OnmsServiceType("SNMP");
NetworkBuilder netBuilder = new NetworkBuilder();
NodeBuilder nodeBuilder = netBuilder.addNode("node1").setId(1);
InterfaceBuilder ifaceBlder = netBuilder.addInterface("192.168.1.1").setId(2).setIsSnmpPrimary("P");
ifaceBlder.addSnmpInterface(1);
OnmsMonitoredService svc = netBuilder.addService(snmp);
List<OnmsIpInterface> initialIfs = Collections.emptyList();
EasyMock.expect(m_ifaceDao.findByServiceType(snmp.getName())).andReturn(initialIfs).anyTimes();
m_filterDao.flushActiveIpAddressListCache();
EasyMock.expect(m_nodeDao.load(1)).andReturn(nodeBuilder.getNode()).anyTimes();
createGetPackagesExpectation(svc);
EasyMock.expect(m_ifaceDao.load(2)).andReturn(ifaceBlder.getInterface()).anyTimes();
m_mockUtils.replayAll();
final MockTransactionTemplate transTemplate = new MockTransactionTemplate();
transTemplate.afterPropertiesSet();
m_collectd.setCollectdConfigFactory(m_collectdConfigFactory);
m_collectd.setEventIpcManager(m_eventIpcManager);
m_collectd.setTransactionTemplate(transTemplate);
m_collectd.setIpInterfaceDao(m_ifaceDao);
m_collectd.setNodeDao(m_nodeDao);
m_collectd.setFilterDao(m_filterDao);
m_collectd.setPersisterFactory(new MockPersisterFactory());
m_collectd.setServiceCollectorRegistry(new DefaultServiceCollectorRegistry());
m_collectd.setLocationAwareCollectorClient(CollectorTestUtils.createLocationAwareCollectorClient());
// Inits the class
m_collectd.afterPropertiesSet();
// assertNotNull(m_serviceCollector);
}
use of org.opennms.netmgt.mock.MockPersisterFactory in project opennms by OpenNMS.
the class CollectdTest method setUp.
@Before
public 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();
// Mock the FilterDao without using EasyMockUtils so that it can be verified separately
m_filterDao = EasyMock.createMock(FilterDao.class);
List<InetAddress> allIps = new ArrayList<>();
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.setNodeDao(m_nodeDao);
m_collectd.setIpInterfaceDao(m_ipIfDao);
m_collectd.setFilterDao(m_filterDao);
m_collectd.setScheduler(m_scheduler);
m_collectd.setTransactionTemplate(transTemplate);
m_collectd.setPersisterFactory(new MockPersisterFactory());
m_collectd.setServiceCollectorRegistry(new DefaultServiceCollectorRegistry());
m_collectd.setLocationAwareCollectorClient(CollectorTestUtils.createLocationAwareCollectorClient());
ThresholdingConfigFactory.setInstance(new ThresholdingConfigFactory(ConfigurationTestUtils.getInputStreamForConfigFile("thresholds.xml")));
}
use of org.opennms.netmgt.mock.MockPersisterFactory in project opennms by OpenNMS.
the class DuplicatePrimaryAddressIT method initialize.
/**
* Initialize.
*
* @param scheduleExistingNodes true, to emulate having data on the database
* @throws Exception the exception
*/
private void initialize(boolean scheduleExistingNodes) throws Exception {
MockLogAppender.setupLogging();
m_eventIpcManager = new MockEventIpcManager();
EventIpcManagerFactory.setIpcManager(m_eventIpcManager);
m_mockUtils = new EasyMockUtils();
m_filterDao = m_mockUtils.createMock(FilterDao.class);
FilterDaoFactory.setInstance(m_filterDao);
Resource resource = new ClassPathResource("etc/poll-outages.xml");
PollOutagesConfigFactory factory = new PollOutagesConfigFactory(resource);
factory.afterPropertiesSet();
PollOutagesConfigFactory.setInstance(factory);
File homeDir = resource.getFile().getParentFile().getParentFile();
System.setProperty("opennms.home", homeDir.getAbsolutePath());
Collector collector = new Collector();
collector.setService("SNMP");
collector.setClassName(MockServiceCollector.class.getName());
m_collectdConfigFactory = m_mockUtils.createMock(CollectdConfigFactory.class);
m_collectdConfiguration = m_mockUtils.createMock(CollectdConfiguration.class);
EasyMock.expect(m_collectdConfigFactory.getCollectdConfig()).andReturn(m_collectdConfiguration).anyTimes();
EasyMock.expect(m_collectdConfiguration.getCollectors()).andReturn(Collections.singletonList(collector)).anyTimes();
EasyMock.expect(m_collectdConfiguration.getThreads()).andReturn(2).anyTimes();
m_ifaceDao = m_mockUtils.createMock(IpInterfaceDao.class);
m_nodeDao = m_mockUtils.createMock(NodeDao.class);
m_collectd = new Collectd() {
@Override
protected void handleInsufficientInfo(InsufficientInformationException e) {
Assert.fail("Invalid event received: " + e.getMessage());
}
};
OnmsServiceType snmp = new OnmsServiceType("SNMP");
NetworkBuilder netBuilder = new NetworkBuilder();
OnmsNode n1 = netBuilder.addNode("node1").setId(1).setForeignSource("TestA").setForeignId("node1").getNode();
OnmsIpInterface ip1 = netBuilder.addSnmpInterface(1).addIpInterface("192.168.1.1").setId(2).setIsSnmpPrimary("P").getInterface();
netBuilder.addService(snmp);
OnmsNode n2 = netBuilder.addNode("node2").setId(3).setForeignSource("TestB").setForeignId("node2").getNode();
OnmsIpInterface ip2 = netBuilder.addSnmpInterface(1).addIpInterface("192.168.1.1").setId(4).setIsSnmpPrimary("P").getInterface();
netBuilder.addService(snmp);
Assert.assertNotSame(ip1.getNode().getId(), ip2.getNode().getId());
List<OnmsIpInterface> initialIfs = new ArrayList<>();
if (scheduleExistingNodes) {
initialIfs.add(ip1);
initialIfs.add(ip2);
}
EasyMock.expect(m_ifaceDao.findByServiceType(snmp.getName())).andReturn(initialIfs).anyTimes();
m_filterDao.flushActiveIpAddressListCache();
EasyMock.expectLastCall().anyTimes();
EasyMock.expect(m_nodeDao.load(1)).andReturn(n1).anyTimes();
EasyMock.expect(m_nodeDao.load(3)).andReturn(n2).anyTimes();
createGetPackagesExpectation();
EasyMock.expect(m_ifaceDao.load(2)).andReturn(ip1).anyTimes();
EasyMock.expect(m_ifaceDao.load(4)).andReturn(ip2).anyTimes();
m_mockUtils.replayAll();
final MockTransactionTemplate transTemplate = new MockTransactionTemplate();
transTemplate.afterPropertiesSet();
m_collectd.setCollectdConfigFactory(m_collectdConfigFactory);
m_collectd.setEventIpcManager(m_eventIpcManager);
m_collectd.setTransactionTemplate(transTemplate);
m_collectd.setIpInterfaceDao(m_ifaceDao);
m_collectd.setNodeDao(m_nodeDao);
m_collectd.setFilterDao(m_filterDao);
m_collectd.setPersisterFactory(new MockPersisterFactory());
m_collectd.setServiceCollectorRegistry(new DefaultServiceCollectorRegistry());
m_collectd.setLocationAwareCollectorClient(CollectorTestUtils.createLocationAwareCollectorClient());
m_collectd.afterPropertiesSet();
m_collectd.start();
}
Aggregations