Search in sources :

Example 41 with OnmsLocationMonitor

use of org.opennms.netmgt.model.OnmsLocationMonitor in project opennms by OpenNMS.

the class DefaultDistributedStatusServiceTest method testWrongLocationDetails.

public void testWrongLocationDetails() {
    List<OnmsMonitoringLocation> locationDefinitions = new LinkedList<>();
    locationDefinitions.add(m_locationDefinition1);
    locationDefinitions.add(m_locationDefinition2);
    locationDefinitions.add(m_locationDefinition3);
    expect(m_monitoringLocationDao.findAll()).andReturn(locationDefinitions);
    List<OnmsApplication> applications = new ArrayList<>();
    applications.add(m_application1);
    applications.add(m_application2);
    expect(m_applicationDao.findAll()).andReturn(applications);
    expect(m_monitoringLocationDao.get("Raleigh-bad")).andReturn(null);
    expect(m_applicationDao.findByName("Application 2")).andReturn(m_application2);
    List<OnmsLocationMonitor> monitors = new ArrayList<>();
    monitors.add(m_locationMonitor1_1);
    expect(m_locationMonitorDao.findByLocationDefinition(m_locationDefinition1)).andReturn(monitors);
    for (OnmsMonitoredService service : m_applicationServices2) {
        m_locationMonitorDao.initialize(service.getIpInterface());
        m_locationMonitorDao.initialize(service.getIpInterface().getNode());
    }
    String locationName = "Raleigh-bad";
    String applicationName = m_application2.getName();
    String monitorId = "";
    String previousLocation = "";
    String timeSpan = "";
    expect(m_monitoredServiceDao.findByApplication(m_application2)).andReturn(m_applicationServices2).times(2);
    expectResourceDaoCall(m_locationMonitor1_1, m_applicationServices2);
    m_easyMockUtils.replayAll();
    DistributedStatusHistoryModel summary = m_service.createHistoryModel(locationName, monitorId, applicationName, timeSpan, previousLocation);
    m_easyMockUtils.verifyAll();
    assertNotNull("summary should not be null", summary);
    assertNotNull("summary locations list should not be null", summary.getLocations());
    assertNotNull("summary applications list should not be null", summary.getApplications());
    assertNotNull("summary chosen location should not be null", summary.getChosenLocation());
    assertNotNull("summary chosen application should not be null", summary.getChosenApplication());
    assertNotNull("summary error list should not be null", summary.getErrors());
    assertEquals("summary locations list size", locationDefinitions.size(), summary.getLocations().size());
    assertEquals("summary applications list size", applications.size(), summary.getApplications().size());
    assertEquals("summary error list size", 1, summary.getErrors().size());
    // Verify sorting of applications
    assertEquals("summary applications 1", m_application1, summary.getApplications().get(0));
    assertEquals("summary applications 2", m_application2, summary.getApplications().get(1));
    // Verify errors
    assertEquals("summary error 1", "Could not find location definition 'Raleigh-bad'", summary.getErrors().get(0));
    // Verify chosen ones
    assertEquals("summary chosen location", m_locationDefinition1, summary.getChosenLocation());
    assertEquals("summary chosen application", m_application2, summary.getChosenApplication());
    // And verify that they are in the lists in the right place
    assertEquals("summary chosen location matches list", summary.getLocations().get(0), summary.getChosenLocation());
    assertEquals("summary chosen application matches list", summary.getApplications().get(1), summary.getChosenApplication());
}
Also used : DistributedStatusHistoryModel(org.opennms.web.svclayer.model.DistributedStatusHistoryModel) ArrayList(java.util.ArrayList) OnmsApplication(org.opennms.netmgt.model.OnmsApplication) OnmsLocationMonitor(org.opennms.netmgt.model.OnmsLocationMonitor) LinkedList(java.util.LinkedList) OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService)

Example 42 with OnmsLocationMonitor

use of org.opennms.netmgt.model.OnmsLocationMonitor in project opennms by OpenNMS.

the class DefaultDistributedStatusServiceTest method testWrongApplicationDetails.

public void testWrongApplicationDetails() {
    List<OnmsMonitoringLocation> locationDefinitions = new LinkedList<>();
    locationDefinitions.add(m_locationDefinition1);
    locationDefinitions.add(m_locationDefinition2);
    locationDefinitions.add(m_locationDefinition3);
    expect(m_monitoringLocationDao.findAll()).andReturn(locationDefinitions);
    List<OnmsApplication> applications = new ArrayList<>();
    applications.add(m_application1);
    applications.add(m_application2);
    expect(m_applicationDao.findAll()).andReturn(applications);
    expect(m_monitoringLocationDao.get(m_locationDefinition2.getLocationName())).andReturn(m_locationDefinition2);
    expect(m_applicationDao.findByName("Big Bad Voodoo Daddy Application")).andReturn(null);
    List<OnmsLocationMonitor> monitors = new ArrayList<>();
    monitors.add(m_locationMonitor2_1);
    monitors.add(m_locationMonitor2_2);
    expect(m_locationMonitorDao.findByLocationDefinition(m_locationDefinition2)).andReturn(monitors);
    for (OnmsMonitoredService service : m_applicationServices1) {
        m_locationMonitorDao.initialize(service.getIpInterface());
        m_locationMonitorDao.initialize(service.getIpInterface().getNode());
    }
    String locationName = m_locationDefinition2.getLocationName();
    String applicationName = "Big Bad Voodoo Daddy Application";
    String monitorId = "";
    String previousLocation = "";
    String timeSpan = "";
    expect(m_monitoredServiceDao.findByApplication(m_application1)).andReturn(m_applicationServices1).times(2);
    expectResourceDaoCall(m_locationMonitor2_1, m_applicationServices1);
    m_easyMockUtils.replayAll();
    DistributedStatusHistoryModel summary = m_service.createHistoryModel(locationName, monitorId, applicationName, timeSpan, previousLocation);
    m_easyMockUtils.verifyAll();
    assertNotNull("summary should not be null", summary);
    assertNotNull("summary locations list should not be null", summary.getLocations());
    assertNotNull("summary applications list should not be null", summary.getApplications());
    assertNotNull("summary chosen location should not be null", summary.getChosenLocation());
    assertNotNull("summary chosen application should not be null", summary.getChosenApplication());
    assertNotNull("summary error list should not be null", summary.getErrors());
    assertEquals("summary locations list size", locationDefinitions.size(), summary.getLocations().size());
    assertEquals("summary applications list size", applications.size(), summary.getApplications().size());
    assertEquals("summary error list size", 1, summary.getErrors().size());
    // Verify sorting of applications
    assertEquals("summary applications 1", m_application1, summary.getApplications().get(0));
    assertEquals("summary applications 2", m_application2, summary.getApplications().get(1));
    // Verify errors
    assertEquals("summary error 1", "Could not find application 'Big Bad Voodoo Daddy Application'", summary.getErrors().get(0));
    // Verify chosen ones
    assertEquals("summary chosen location", m_locationDefinition2, summary.getChosenLocation());
    assertEquals("summary chosen application", m_application1, summary.getChosenApplication());
    // And verify that they are in the lists in the right place
    assertEquals("summary chosen location matches list", summary.getLocations().get(1), summary.getChosenLocation());
    assertEquals("summary chosen application matches list", summary.getApplications().get(0), summary.getChosenApplication());
}
Also used : DistributedStatusHistoryModel(org.opennms.web.svclayer.model.DistributedStatusHistoryModel) ArrayList(java.util.ArrayList) OnmsApplication(org.opennms.netmgt.model.OnmsApplication) OnmsLocationMonitor(org.opennms.netmgt.model.OnmsLocationMonitor) LinkedList(java.util.LinkedList) OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService)

Example 43 with OnmsLocationMonitor

use of org.opennms.netmgt.model.OnmsLocationMonitor in project opennms by OpenNMS.

the class DefaultDistributedStatusServiceTest method testCreateFacilityStatusTable.

public void testCreateFacilityStatusTable() throws Exception {
    // No need to shuffle, since this is a list
    List<OnmsMonitoringLocation> locationDefinitions = new LinkedList<>();
    locationDefinitions.add(m_locationDefinition1);
    locationDefinitions.add(m_locationDefinition2);
    locationDefinitions.add(m_locationDefinition3);
    List<OnmsApplication> applications = new LinkedList<>();
    applications.add(m_application1);
    applications.add(m_application2);
    Collections.shuffle(applications);
    OnmsMonitoredService httpService = findMonitoredService(m_services, m_ip, "HTTP");
    OnmsMonitoredService httpsService = findMonitoredService(m_services, m_ip, "HTTPS");
    OnmsMonitoredService icmpService = findMonitoredService(m_services, m_ip, "ICMP");
    Collection<OnmsLocationSpecificStatus> mostRecentStatuses = new LinkedList<>();
    mostRecentStatuses.add(createStatus(m_locationMonitor1_1, httpService, PollStatus.available(), "20061011-00:00:00"));
    mostRecentStatuses.add(createStatus(m_locationMonitor1_1, httpsService, PollStatus.available(), "20061012-06:00:00"));
    mostRecentStatuses.add(createStatus(m_locationMonitor2_1, httpService, PollStatus.available(), "20061011-00:00:00"));
    mostRecentStatuses.add(createStatus(m_locationMonitor2_1, httpsService, PollStatus.available(), "20061012-06:00:00"));
    mostRecentStatuses.add(createStatus(m_locationMonitor2_2, httpService, PollStatus.available(), "20061011-00:00:00"));
    mostRecentStatuses.add(createStatus(m_locationMonitor2_2, httpsService, PollStatus.available(), "20061012-06:00:00"));
    Collection<OnmsLocationSpecificStatus> statusChanges = new LinkedList<>();
    statusChanges.add(createStatus(m_locationMonitor1_1, httpService, PollStatus.available(), "20061011-00:00:00"));
    statusChanges.add(createStatus(m_locationMonitor1_1, httpsService, PollStatus.unavailable(), "20061012-00:00:00"));
    statusChanges.add(createStatus(m_locationMonitor1_1, httpsService, PollStatus.available(), "20061012-06:00:00"));
    statusChanges.add(createStatus(m_locationMonitor1_1, icmpService, PollStatus.down(), "20061010-06:00:00"));
    Date startDate = s_dbDate.parse("2006-10-12 00:00:00.0");
    Date endDate = s_dbDate.parse("2006-10-13 00:00:00.0");
    expect(m_monitoringLocationDao.findAll()).andReturn(locationDefinitions);
    expect(m_applicationDao.findAll()).andReturn(applications);
    expect(m_locationMonitorDao.getAllMostRecentStatusChanges()).andReturn(mostRecentStatuses);
    expect(m_locationMonitorDao.findByLocationDefinition(locationDefinitions.get(0))).andReturn(Collections.singleton(m_locationMonitor1_1));
    Collection<OnmsLocationMonitor> monitors2 = new HashSet<>();
    monitors2.add(m_locationMonitor2_1);
    monitors2.add(m_locationMonitor2_2);
    expect(m_locationMonitorDao.findByLocationDefinition(locationDefinitions.get(1))).andReturn(monitors2);
    expect(m_locationMonitorDao.findByLocationDefinition(locationDefinitions.get(2))).andReturn(new HashSet<OnmsLocationMonitor>());
    expect(m_locationMonitorDao.getStatusChangesBetween(startDate, endDate)).andReturn(statusChanges);
    expect(m_locationMonitorDao.getAllStatusChangesAt(startDate)).andReturn(new HashSet<OnmsLocationSpecificStatus>());
    expect(m_monitoredServiceDao.findByApplication(m_application1)).andReturn(m_applicationServices1).times(3);
    expect(m_monitoredServiceDao.findByApplication(m_application2)).andReturn(m_applicationServices2).times(3);
    m_easyMockUtils.replayAll();
    SimpleWebTable table = m_service.createFacilityStatusTable(startDate, endDate);
    m_easyMockUtils.verifyAll();
    SimpleWebTable expectedTable = new SimpleWebTable();
    expectedTable.setTitle("Distributed Status Summary");
    expectedTable.addColumn("Area", "");
    expectedTable.addColumn("Location", "");
    expectedTable.addColumn("Application 1", "");
    expectedTable.addColumn("Application 2", "");
    expectedTable.newRow();
    expectedTable.addCell("OpenNMS NC", "");
    expectedTable.addCell("Raleigh", "");
    expectedTable.addCell("75.000%", "Normal", "distributedStatusHistory.htm?location=Raleigh&application=Application+1");
    expectedTable.addCell("75.000%", "Normal", "distributedStatusHistory.htm?location=Raleigh&application=Application+2");
    expectedTable.newRow();
    expectedTable.addCell("OpenNMS NC", "");
    expectedTable.addCell("Durham", "");
    expectedTable.addCell("No data", "Normal");
    expectedTable.addCell("No data", "Normal");
    expectedTable.newRow();
    expectedTable.addCell("OpenNMS OH", "");
    expectedTable.addCell("Columbus", "");
    expectedTable.addCell("No data", "Indeterminate");
    expectedTable.addCell("No data", "Indeterminate");
    assertTableEquals(expectedTable, table);
}
Also used : OnmsLocationSpecificStatus(org.opennms.netmgt.model.OnmsLocationSpecificStatus) OnmsApplication(org.opennms.netmgt.model.OnmsApplication) LinkedList(java.util.LinkedList) Date(java.util.Date) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService) SimpleWebTable(org.opennms.web.svclayer.model.SimpleWebTable) OnmsLocationMonitor(org.opennms.netmgt.model.OnmsLocationMonitor) OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation) HashSet(java.util.HashSet)

Example 44 with OnmsLocationMonitor

use of org.opennms.netmgt.model.OnmsLocationMonitor in project opennms by OpenNMS.

the class DefaultDistributedStatusServiceTest method testDetails.

public void testDetails() {
    List<OnmsMonitoringLocation> locationDefinitions = new LinkedList<>();
    locationDefinitions.add(m_locationDefinition1);
    locationDefinitions.add(m_locationDefinition2);
    locationDefinitions.add(m_locationDefinition3);
    expect(m_monitoringLocationDao.findAll()).andReturn(locationDefinitions);
    List<OnmsApplication> applications = new ArrayList<>();
    applications.add(m_application1);
    applications.add(m_application2);
    expect(m_applicationDao.findAll()).andReturn(applications);
    expect(m_monitoringLocationDao.get("Durham")).andReturn(m_locationDefinition2);
    expect(m_applicationDao.findByName("Application 2")).andReturn(m_application2);
    List<OnmsLocationMonitor> monitors = new ArrayList<>();
    monitors.add(m_locationMonitor2_1);
    monitors.add(m_locationMonitor2_2);
    expect(m_locationMonitorDao.findByLocationDefinition(m_locationDefinition2)).andReturn(monitors);
    for (OnmsMonitoredService service : m_applicationServices2) {
        m_locationMonitorDao.initialize(service.getIpInterface());
        m_locationMonitorDao.initialize(service.getIpInterface().getNode());
    }
    String locationName = m_locationDefinition2.getLocationName();
    String applicationName = m_application2.getName();
    String monitorId = "";
    String timeSpan = "Last Day";
    String previousLocation = "";
    expect(m_monitoredServiceDao.findByApplication(m_application2)).andReturn(m_applicationServices2).times(2);
    expectResourceDaoCall(m_locationMonitor2_1, m_applicationServices2);
    m_easyMockUtils.replayAll();
    DistributedStatusHistoryModel summary = m_service.createHistoryModel(locationName, monitorId, applicationName, timeSpan, previousLocation);
    m_easyMockUtils.verifyAll();
    assertNotNull("summary should not be null", summary);
    assertNotNull("summary locations list should not be null", summary.getLocations());
    assertNotNull("summary applications list should not be null", summary.getApplications());
    assertNotNull("summary chosen location should not be null", summary.getChosenLocation());
    assertNotNull("summary chosen application should not be null", summary.getChosenApplication());
    assertNotNull("summary error list should not be null", summary.getErrors());
    assertEquals("summary locations list size", locationDefinitions.size(), summary.getLocations().size());
    assertEquals("summary applications list size", applications.size(), summary.getApplications().size());
    assertEquals("summary error list size: " + summary.getErrors(), 0, summary.getErrors().size());
    // Verify sorting of applications
    assertEquals("summary applications 1", m_application1, summary.getApplications().get(0));
    assertEquals("summary applications 2", m_application2, summary.getApplications().get(1));
    // Verify chosen ones
    assertEquals("summary chosen location", m_locationDefinition2, summary.getChosenLocation());
    assertEquals("summary chosen application", m_application2, summary.getChosenApplication());
    // And verify that they are in the lists in the right place
    assertEquals("summary chosen location matches list", summary.getLocations().get(1), summary.getChosenLocation());
    assertEquals("summary chosen application matches list", summary.getApplications().get(1), summary.getChosenApplication());
    assertEquals("graph URL map size", 1, summary.getServiceGraphs().size());
    assertNotNull("graph 0 URL should not be null", summary.getServiceGraphs().iterator().next().getUrl());
}
Also used : DistributedStatusHistoryModel(org.opennms.web.svclayer.model.DistributedStatusHistoryModel) ArrayList(java.util.ArrayList) OnmsApplication(org.opennms.netmgt.model.OnmsApplication) OnmsLocationMonitor(org.opennms.netmgt.model.OnmsLocationMonitor) LinkedList(java.util.LinkedList) OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService)

Example 45 with OnmsLocationMonitor

use of org.opennms.netmgt.model.OnmsLocationMonitor in project opennms by OpenNMS.

the class DefaultDistributedStatusServiceTest method setUp.

@Override
protected void setUp() throws Exception {
    super.setUp();
    Locale.setDefault(Locale.US);
    m_service.setMonitoredServiceDao(m_monitoredServiceDao);
    m_service.setMonitoringLocationDao(m_monitoringLocationDao);
    m_service.setLocationMonitorDao(m_locationMonitorDao);
    m_service.setApplicationDao(m_applicationDao);
    m_service.setResourceDao(m_resourceDao);
    m_service.setGraphDao(m_graphDao);
    m_service.afterPropertiesSet();
    m_locationDefinition1 = new OnmsMonitoringLocation("Raleigh", "OpenNMS NC", "raleigh");
    m_locationDefinition2 = new OnmsMonitoringLocation("Durham", "OpenNMS NC", "durham");
    m_locationDefinition3 = new OnmsMonitoringLocation("Columbus", "OpenNMS OH", "columbus");
    m_application1 = new OnmsApplication();
    m_application1.setName("Application 1");
    m_application2 = new OnmsApplication();
    m_application2.setName("Application 2");
    m_locationMonitor1_1 = new OnmsLocationMonitor();
    m_locationMonitor1_1.setId(LOCATION_MONITOR_ID_A);
    m_locationMonitor1_1.setLastUpdated(new Date());
    m_locationMonitor1_1.setLocation("Raleigh");
    m_locationMonitor1_1.setStatus(MonitorStatus.STARTED);
    assertEquals("location monitor 1.1 status", MonitorStatus.STARTED, m_locationMonitor1_1.getStatus());
    m_locationMonitor2_1 = new OnmsLocationMonitor();
    m_locationMonitor2_1.setId(LOCATION_MONITOR_ID_B);
    m_locationMonitor2_1.setLastUpdated(new Date());
    m_locationMonitor2_1.setLocation("Durham");
    m_locationMonitor2_1.setStatus(MonitorStatus.STARTED);
    assertEquals("location monitor 2.1 status", MonitorStatus.STARTED, m_locationMonitor2_1.getStatus());
    m_locationMonitor2_2 = new OnmsLocationMonitor();
    m_locationMonitor2_2.setId(LOCATION_MONITOR_ID_C);
    m_locationMonitor2_2.setLocation("Durham");
    m_locationMonitor2_2.setStatus(MonitorStatus.STARTED);
    assertEquals("location monitor 2.2 status", MonitorStatus.STARTED, m_locationMonitor2_2.getStatus());
    List<String> serviceNames = new ArrayList<>();
    serviceNames.add("ICMP");
    serviceNames.add("DNS");
    serviceNames.add("HTTP");
    serviceNames.add("HTTPS");
    // shuffle to test sorting
    Collections.shuffle(serviceNames);
    m_node = new OnmsNode();
    m_ip = InetAddressUtils.addr("1.1.1.1");
    m_node.setLabel("Node 1");
    m_node.setId(1);
    // Can't shuffle since it's a set
    m_services = new HashSet<>();
    m_services.add(new OnmsMonitoredService(new OnmsIpInterface(m_ip, m_node), new OnmsServiceType("ICMP")));
    m_services.add(new OnmsMonitoredService(new OnmsIpInterface(m_ip, m_node), new OnmsServiceType("DNS")));
    m_services.add(new OnmsMonitoredService(new OnmsIpInterface(m_ip, m_node), new OnmsServiceType("HTTP")));
    m_services.add(new OnmsMonitoredService(new OnmsIpInterface(m_ip, m_node), new OnmsServiceType("HTTPS")));
    // Can't shuffle since these since they are sets
    m_applicationServices1 = new TreeSet<>();
    m_applicationServices1.add(findMonitoredService(m_services, m_ip, "HTTP"));
    m_applicationServices1.add(findMonitoredService(m_services, m_ip, "HTTPS"));
    // m_application1.setMemberServices(applicationServices1);
    m_applicationServices2 = new TreeSet<>();
    m_applicationServices2.add(findMonitoredService(m_services, m_ip, "HTTPS"));
// m_application2.setMemberServices(applicationServices2);
/*
        m_application2 = new OnmsApplication();
        m_application2.setLabel("Application 2");
        // XXX shuffle to verify sorting? create new list and do: Collections.shuffle(applicationServices2)
        m_application2.setMemberServices(applicationServices1);
        */
}
Also used : OnmsNode(org.opennms.netmgt.model.OnmsNode) ArrayList(java.util.ArrayList) OnmsApplication(org.opennms.netmgt.model.OnmsApplication) Date(java.util.Date) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService) OnmsIpInterface(org.opennms.netmgt.model.OnmsIpInterface) OnmsServiceType(org.opennms.netmgt.model.OnmsServiceType) OnmsLocationMonitor(org.opennms.netmgt.model.OnmsLocationMonitor) OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation)

Aggregations

OnmsLocationMonitor (org.opennms.netmgt.model.OnmsLocationMonitor)53 OnmsMonitoringLocation (org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation)18 Date (java.util.Date)15 OnmsMonitoredService (org.opennms.netmgt.model.OnmsMonitoredService)15 ArrayList (java.util.ArrayList)14 OnmsApplication (org.opennms.netmgt.model.OnmsApplication)14 OnmsLocationSpecificStatus (org.opennms.netmgt.model.OnmsLocationSpecificStatus)14 Transactional (org.springframework.transaction.annotation.Transactional)10 LinkedList (java.util.LinkedList)8 Test (org.junit.Test)6 OnmsIpInterface (org.opennms.netmgt.model.OnmsIpInterface)6 LocationMonitorIdCommand (org.opennms.web.svclayer.model.LocationMonitorIdCommand)6 BindException (org.springframework.validation.BindException)6 HashSet (java.util.HashSet)5 ObjectError (org.springframework.validation.ObjectError)5 GWTLocationMonitor (org.opennms.features.poller.remote.gwt.client.GWTLocationMonitor)4 OnmsNode (org.opennms.netmgt.model.OnmsNode)4 Criteria (org.opennms.core.criteria.Criteria)3 ApplicationInfo (org.opennms.features.poller.remote.gwt.client.ApplicationInfo)3 LocationMonitorState (org.opennms.features.poller.remote.gwt.client.LocationMonitorState)3