use of org.opennms.netmgt.model.notifd.NotificationStrategy in project opennms by OpenNMS.
the class SnmpTrapNotificationStrategyTest method testSendWithEmptyArgumentList.
/*
* Test method for 'org.opennms.netmgt.notifd.SnmpTrapNotificationStrategy.send(List)'
*/
public void testSendWithEmptyArgumentList() {
List<Argument> arguments = new ArrayList<Argument>();
NotificationStrategy strategy = new SnmpTrapNotificationStrategy();
strategy.send(arguments);
}
use of org.opennms.netmgt.model.notifd.NotificationStrategy in project opennms by OpenNMS.
the class MattermostNotificationStrategyIT method testSendValidJustArgs.
/*
* Test method for 'org.opennms.netmgt.notifd.MattermostNotificationStrategy.send(List)'
*/
@Test
@JUnitHttpServer(webapps = { @Webapp(context = "/hooks", path = "src/test/resources/MattermostNotificationStrategyTest") })
public void testSendValidJustArgs() {
final int port = JUnitHttpServerExecutionListener.getPort();
assertTrue(port > 0);
try {
final NotificationStrategy ns = new MattermostNotificationStrategy();
final List<Argument> arguments = new ArrayList<Argument>();
// Set these properties. We will override them with Args on the first run.
System.setProperty("org.opennms.netmgt.notifd.mattermost.webhookURL", "http://localhost:" + port + "/hooks/abunchofstuffthatidentifiesawebhook");
System.setProperty("org.opennms.netmgt.notifd.mattermost.channel", "integrationtestsXX");
System.setProperty("org.opennms.netmgt.notifd.mattermost.iconURL", "http://opennms.org/logo.pngXX");
System.setProperty("org.opennms.netmgt.notifd.mattermost.iconEmoji", ":shipitXX:");
System.setProperty("org.opennms.netmgt.notifd.mattermost.username", "opennmsXX");
arguments.add(new Argument("url", null, "http://localhost:" + port + "/hooks/abunchofstuffthatidentifiesawebhook", false));
arguments.add(new Argument("channel", null, "integrationtests", false));
arguments.add(new Argument("username", null, "opennms", false));
arguments.add(new Argument("iconurl", null, "http://opennms.org/logo.png", false));
arguments.add(new Argument("iconemoji", null, ":shipit:", false));
arguments.add(new Argument("-subject", null, "Test", false));
arguments.add(new Argument("-tm", null, "This is only a test", false));
int statusCode = ns.send(arguments);
assertEquals(0, statusCode);
JSONObject inputJson = MattermostNotificationStrategyTestServlet.getInputJson();
assertNotNull(inputJson);
assertEquals("opennms", inputJson.get("username"));
assertEquals("#### Test\nThis is only a test", inputJson.get("text"));
assertEquals("integrationtests", inputJson.get("channel"));
assertEquals("http://opennms.org/logo.png", inputJson.get("icon_url"));
assertEquals(":shipit:", inputJson.get("icon_emoji"));
assertEquals(5, inputJson.size());
// Now do it again, without the Args, and verify that the property values come out
arguments.clear();
arguments.add(new Argument("-subject", null, "Test again", false));
arguments.add(new Argument("-tm", null, "This is only a second test", false));
statusCode = ns.send(arguments);
assertEquals(0, statusCode);
inputJson = MattermostNotificationStrategyTestServlet.getInputJson();
assertNotNull(inputJson);
assertEquals("opennmsXX", inputJson.get("username"));
assertEquals("#### Test again\nThis is only a second test", inputJson.get("text"));
assertEquals("integrationtestsXX", inputJson.get("channel"));
assertEquals("http://opennms.org/logo.pngXX", inputJson.get("icon_url"));
assertEquals(":shipitXX:", inputJson.get("icon_emoji"));
assertEquals(5, inputJson.size());
} catch (Throwable e) {
e.printStackTrace();
fail("Caught Exception: " + e.getMessage());
}
}
use of org.opennms.netmgt.model.notifd.NotificationStrategy in project opennms by OpenNMS.
the class MicroblogNotificationStrategyIT method postNotice.
@Ignore
@Test
public void postNotice() {
NotificationStrategy ns = new MicroblogNotificationStrategy(m_daoConfigResource);
List<Argument> arguments = configureArgs();
Assert.assertEquals("NotificationStrategy should return 0 on success", 0, ns.send(arguments));
}
use of org.opennms.netmgt.model.notifd.NotificationStrategy in project opennms by OpenNMS.
the class HttpNotificationStrategyIT method testSend.
/*
* Test method for 'org.opennms.netmgt.notifd.HttpNotificationStrategy.send(List)'
*/
@Test
@JUnitHttpServer(webapps = { @Webapp(context = "/cgi-bin/noauth", path = "src/test/resources/HttpNotificationStrategyTest") })
public void testSend() {
final int port = JUnitHttpServerExecutionListener.getPort();
assertTrue(port > 0);
try {
final String message = "text message for unit testing";
final NotificationStrategy ns = new HttpNotificationStrategy();
final List<Argument> arguments = new ArrayList<Argument>();
arguments.add(new Argument("url", null, "http://localhost:" + port + "/cgi-bin/noauth/nmsgw.pl", false));
arguments.add(new Argument("post-NodeID", null, "1", false));
arguments.add(new Argument("result-match", null, "(?s).*OK\\s+([0-9]+).*", false));
arguments.add(new Argument("post-message", null, "-tm", false));
arguments.add(new Argument("-tm", null, message, false));
arguments.add(new Argument("sql", null, "UPDATE alarms SET tticketID=${1} WHERE lastEventID = 1", false));
final int statusCode = ns.send(arguments);
assertEquals(200, statusCode);
final Map<String, String> parameters = HttpNotificationStrategyTestServlet.getRequestParameters();
assertNotNull(parameters);
assertEquals(2, parameters.size());
assertEquals("1", parameters.get("NodeID"));
assertEquals(message, parameters.get("message"));
} catch (Throwable e) {
e.printStackTrace();
fail("Caught Exception: " + e.getMessage());
}
}
Aggregations