|
@@ -179,7 +179,7 @@ public class AgentHeartbeatAlertRunnableTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void testUnhealthyAlert() {
|
|
|
+ public void testLostHeartbeatAlert() {
|
|
|
EasyMock.reset(m_host);
|
|
|
expect(m_host.getState()).andReturn(HostState.HEARTBEAT_LOST).atLeastOnce();
|
|
|
replay(m_host);
|
|
@@ -213,6 +213,41 @@ public class AgentHeartbeatAlertRunnableTest {
|
|
|
verify(m_definition, m_host, m_cluster, m_clusters, m_definitionDao);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testUnhealthyHostAlert() {
|
|
|
+ EasyMock.reset(m_host);
|
|
|
+ expect(m_host.getState()).andReturn(HostState.UNHEALTHY).atLeastOnce();
|
|
|
+ replay(m_host);
|
|
|
+
|
|
|
+ // precondition that no events were fired
|
|
|
+ assertEquals(0,
|
|
|
+ m_listener.getAlertEventReceivedCount(AlertReceivedEvent.class));
|
|
|
+
|
|
|
+ // instantiate and inject mocks
|
|
|
+ AgentHeartbeatAlertRunnable runnable = new AgentHeartbeatAlertRunnable(
|
|
|
+ m_definition.getDefinitionName());
|
|
|
+
|
|
|
+ m_injector.injectMembers(runnable);
|
|
|
+
|
|
|
+ // run the alert
|
|
|
+ runnable.run();
|
|
|
+
|
|
|
+ assertEquals(1,
|
|
|
+ m_listener.getAlertEventReceivedCount(AlertReceivedEvent.class));
|
|
|
+
|
|
|
+ List<AlertEvent> events = m_listener.getAlertEventInstances(AlertReceivedEvent.class);
|
|
|
+ assertEquals(1, events.size());
|
|
|
+
|
|
|
+ AlertReceivedEvent event = (AlertReceivedEvent) events.get(0);
|
|
|
+ Alert alert = event.getAlert();
|
|
|
+ assertEquals("AMBARI", alert.getService());
|
|
|
+ assertEquals("AMBARI_SERVER", alert.getComponent());
|
|
|
+ assertEquals(AlertState.CRITICAL, alert.getState());
|
|
|
+ assertEquals(DEFINITION_NAME, alert.getName());
|
|
|
+
|
|
|
+ verify(m_definition, m_host, m_cluster, m_clusters, m_definitionDao);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
*
|
|
|
*/
|