Search in sources :

Example 1 with ThresholdEvaluatorStateAbsoluteChange

use of org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange in project opennms by OpenNMS.

the class ThresholdEvaluatorAbsoluteChangeTest method testConstructorThresholdNull.

@Test
public void testConstructorThresholdNull() {
    ThrowableAnticipator ta = new ThrowableAnticipator();
    ta.anticipate(new IllegalArgumentException("threshold argument cannot be null"));
    try {
        new ThresholdEvaluatorStateAbsoluteChange(null);
    } catch (Throwable t) {
        ta.throwableReceived(t);
    }
    ta.verifyAnticipated();
}
Also used : ThresholdEvaluatorStateAbsoluteChange(org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange) ThrowableAnticipator(org.opennms.test.ThrowableAnticipator) Test(org.junit.Test)

Example 2 with ThresholdEvaluatorStateAbsoluteChange

use of org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange in project opennms by OpenNMS.

the class ThresholdEvaluatorAbsoluteChangeTest method testGetEventForStateTriggered.

@Test
public void testGetEventForStateTriggered() {
    Threshold threshold = new Threshold();
    threshold.setType(ThresholdType.ABSOLUTE_CHANGE);
    threshold.setDsName("ds-name");
    threshold.setDsType("node");
    threshold.setValue(1.0);
    threshold.setRearm(0.5);
    threshold.setTrigger(3);
    ThresholdConfigWrapper wrapper = new ThresholdConfigWrapper(threshold);
    ThresholdEvaluatorStateAbsoluteChange evaluator = new ThresholdEvaluatorStateAbsoluteChange(wrapper);
    assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(8.0));
    assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(10.0));
    // Do it once with a null instance
    Event event = evaluator.getEventForState(Status.TRIGGERED, new Date(), 10.0, null);
    assertNotNull("should have created an event", event);
    assertEquals("UEIs should be the same", EventConstants.ABSOLUTE_CHANGE_THRESHOLD_EVENT_UEI, event.getUei());
    assertNotNull("event should have parms", event.getParmCollection());
    parmPresentAndValueNonNull(event, "instance");
    parmPresentWithValue(event, "value", "10.0");
    parmPresentWithValue(event, "previousValue", "8.0");
    parmPresentWithValue(event, "changeThreshold", "1.0");
    // And again with a non-null instance
    event = evaluator.getEventForState(Status.TRIGGERED, new Date(), 10.0, new MockCollectionResourceWrapper("testInstance"));
    assertNotNull("should have created an event", event);
    assertEquals("UEIs should be the same", EventConstants.ABSOLUTE_CHANGE_THRESHOLD_EVENT_UEI, event.getUei());
    assertNotNull("event should have parms", event.getParmCollection());
    parmPresentWithValue(event, "instance", "testInstance");
    parmPresentWithValue(event, "value", "10.0");
    parmPresentWithValue(event, "previousValue", "8.0");
    parmPresentWithValue(event, "changeThreshold", "1.0");
}
Also used : ThresholdEvaluatorStateAbsoluteChange(org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange) Event(org.opennms.netmgt.xml.event.Event) Date(java.util.Date) Threshold(org.opennms.netmgt.config.threshd.Threshold) Test(org.junit.Test)

Example 3 with ThresholdEvaluatorStateAbsoluteChange

use of org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange in project opennms by OpenNMS.

the class ThresholdEvaluatorAbsoluteChangeTest method testGetEventForStateNoChange.

@Test
public void testGetEventForStateNoChange() {
    Threshold threshold = new Threshold();
    threshold.setType(ThresholdType.ABSOLUTE_CHANGE);
    threshold.setDsName("ds-name");
    threshold.setDsType("node");
    threshold.setValue(1.1);
    threshold.setRearm(0.5);
    threshold.setTrigger(3);
    ThresholdConfigWrapper wrapper = new ThresholdConfigWrapper(threshold);
    ThresholdEvaluatorStateAbsoluteChange evaluator = new ThresholdEvaluatorStateAbsoluteChange(wrapper);
    assertNull("should not have created an event", evaluator.getEventForState(Status.NO_CHANGE, new Date(), 10.0, null));
}
Also used : ThresholdEvaluatorStateAbsoluteChange(org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange) Date(java.util.Date) Threshold(org.opennms.netmgt.config.threshd.Threshold) Test(org.junit.Test)

Example 4 with ThresholdEvaluatorStateAbsoluteChange

use of org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange in project opennms by OpenNMS.

the class ThresholdEvaluatorAbsoluteChangeTest method testEvaluateTwiceNoTriggerLowAbove.

@Test
public void testEvaluateTwiceNoTriggerLowAbove() {
    Threshold threshold = new Threshold();
    threshold.setType(ThresholdType.ABSOLUTE_CHANGE);
    threshold.setDsName("ds-name");
    threshold.setDsType("node");
    threshold.setValue(-1.0);
    threshold.setRearm(0.5);
    threshold.setTrigger(3);
    ThresholdConfigWrapper wrapper = new ThresholdConfigWrapper(threshold);
    ThresholdEvaluatorStateAbsoluteChange evaluator = new ThresholdEvaluatorStateAbsoluteChange(wrapper);
    assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0));
    assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(9.5));
}
Also used : ThresholdEvaluatorStateAbsoluteChange(org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange) Threshold(org.opennms.netmgt.config.threshd.Threshold) Test(org.junit.Test)

Example 5 with ThresholdEvaluatorStateAbsoluteChange

use of org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange in project opennms by OpenNMS.

the class ThresholdEvaluatorAbsoluteChangeTest method testEvaluateTwiceNoTrigger.

@Test
public void testEvaluateTwiceNoTrigger() {
    Threshold threshold = new Threshold();
    threshold.setType(ThresholdType.ABSOLUTE_CHANGE);
    threshold.setDsName("ds-name");
    threshold.setDsType("node");
    threshold.setValue(0.9);
    threshold.setRearm(0.5);
    threshold.setTrigger(3);
    ThresholdConfigWrapper wrapper = new ThresholdConfigWrapper(threshold);
    ThresholdEvaluatorStateAbsoluteChange evaluator = new ThresholdEvaluatorStateAbsoluteChange(wrapper);
    assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0));
    assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0));
}
Also used : ThresholdEvaluatorStateAbsoluteChange(org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange) Threshold(org.opennms.netmgt.config.threshd.Threshold) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)14 ThresholdEvaluatorStateAbsoluteChange (org.opennms.netmgt.threshd.ThresholdEvaluatorAbsoluteChange.ThresholdEvaluatorStateAbsoluteChange)14 Threshold (org.opennms.netmgt.config.threshd.Threshold)13 Date (java.util.Date)4 Event (org.opennms.netmgt.xml.event.Event)3 ThrowableAnticipator (org.opennms.test.ThrowableAnticipator)1