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();
}
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");
}
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));
}
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));
}
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));
}
Aggregations