@Test public void testTryRulesFail() throws Exception { morphline = createMorphline("test-morphlines/tryRulesFail"); Record record = new Record(); record.put("first_name", "Nadja"); List<Record> expectedList = Lists.newArrayList(); for (int i = 0; i < 2; i++) { Record expected = record.copy(); expected.put("foo2", "bar2"); expected.replaceValues("iter2", i); expectedList.add(expected); } startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); assertEquals(expectedList, collector.getRecords()); assertNotSame(record, collector.getRecords().get(0)); }
@Test public void testTryRulesCatchException() throws Exception { morphline = createMorphline("test-morphlines/tryRulesCatchException"); Record record = new Record(); record.put("first_name", "Nadja"); List<Record> expectedList = Lists.newArrayList(); for (int i = 0; i < 2; i++) { Record expected = record.copy(); expected.put("foo2", "bar2"); expected.replaceValues("iter2", i); expectedList.add(expected); } startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); assertEquals(expectedList, collector.getRecords()); assertNotSame(record, collector.getRecords().get(0)); }
@Test public void testTryRulesPass() throws Exception { morphline = createMorphline("test-morphlines/tryRulesPass"); Record record = new Record(); record.put("first_name", "Nadja"); List<Record> expectedList = Lists.newArrayList(); for (int i = 0; i < 2; i++) { Record expected = record.copy(); expected.put("foo", "bar"); expected.replaceValues("iter", i); expectedList.add(expected); } startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); assertEquals(expectedList, collector.getRecords()); assertNotSame(record, collector.getRecords().get(0)); }
private void processAndVerifySuccess(Record input, Record expected, boolean isSame) { collector.reset(); startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(input)); assertEquals(expected, collector.getFirstRecord()); if (isSame) { assertSame(input, collector.getFirstRecord()); } else { assertNotSame(input, collector.getFirstRecord()); } }
@Test public void testReadBlob() throws Exception { morphline = createMorphline("test-morphlines/readBlob"); for (int i = 0; i < 3; i++) { Record record = new Record(); byte[] bytes = "foo".getBytes("UTF-8"); record.put(Fields.ATTACHMENT_BODY, bytes); collector.reset(); startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); assertSame(record, collector.getFirstRecord()); assertNotSame(bytes, record.getFirstValue(Fields.ATTACHMENT_BODY)); assertArrayEquals(bytes, (byte[])record.getFirstValue(Fields.ATTACHMENT_BODY)); } }
@Test public void testReadClobWithDestination() throws IOException { morphline = createMorphline("test-morphlines/readClobDestField"); for (int i = 0; i < 3; i++) { Record record = new Record(); String msg = "foo"; record.put(Fields.ATTACHMENT_BODY, msg.getBytes("UTF-8")); collector.reset(); startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); Record expected = new Record(); expected.put("myAwesomeDestination", msg); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); } }
@Test public void testReadClob() throws Exception { morphline = createMorphline("test-morphlines/readClob"); for (int i = 0; i < 3; i++) { Record record = new Record(); String msg = "foo"; record.put(Fields.ATTACHMENT_BODY, msg.getBytes("UTF-8")); collector.reset(); startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); Record expected = new Record(); expected.put(Fields.MESSAGE, msg); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); } }
@Test public void testGrokWithMultipleGroupsWithSameName() throws Exception { morphline = createMorphline("test-morphlines/grokWithMultipleGroupsWithSameName"); Record record = new Record(); record.put(Fields.MESSAGE, "123 456"); assertTrue(morphline.process(record)); Record expected = new Record(); expected.put(Fields.MESSAGE, "123 456"); expected.put("syslog_pri", "123"); expected.put("syslog_pri", "456"); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); }
@Test public void testReadBlobWithDestination() throws IOException { morphline = createMorphline("test-morphlines/readBlobWithOutputField"); for (int i = 0; i < 3; i++) { Record record = new Record(); byte[] bytes = "foo".getBytes("UTF-8"); record.put(Fields.ATTACHMENT_BODY, bytes); collector.reset(); startSession(); assertEquals(1, collector.getNumStartEvents()); assertTrue(morphline.process(record)); assertSame(record, collector.getFirstRecord()); assertSame(bytes, record.getFirstValue(Fields.ATTACHMENT_BODY)); assertNotSame(bytes, record.getFirstValue("myAwesomeDestination")); assertArrayEquals(bytes, (byte[])record.getFirstValue("myAwesomeDestination")); } }
@Test public void testGrokEmail() throws Exception { morphline = createMorphline("test-morphlines/grokEmail"); Record record = new Record(); byte[] bytes = Files.toByteArray(new File(RESOURCES_DIR + "/test-documents/email.txt")); record.put(Fields.ATTACHMENT_BODY, bytes); assertTrue(morphline.process(record)); Record expected = new Record(); String msg = new String(bytes, "UTF-8"); //.replaceAll("(\r)?\n", "\n"); expected.put(Fields.MESSAGE, msg); expected.put("message_id", "12345.6789.JavaMail.foo@bar"); expected.put("date", "Wed, 6 Feb 2012 06:06:05 -0800"); expected.put("from", "foo@bar.com"); expected.put("to", "baz@bazoo.com"); expected.put("subject", "WEDNESDAY WEATHER HEADLINES"); expected.put("from_names", "Foo Bar <foo@bar.com>@xxx"); expected.put("to_names", "'Weather News Distribution' <wfoo@bar.com>"); expected.put("text", "Average 1 to 3- degrees above normal: Mid-Atlantic, Southern Plains.." + "\nAverage 4 to 6-degrees above normal: Ohio Valley, Rockies, Central Plains"); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); }
public void testGrokSyslogNgCiscoWithoutSubFacility() throws Exception { morphline = createMorphline("test-morphlines/grokSyslogNgCisco"); Record record = new Record(); String msg = "<179>Jun 10 04:42:51 www.foo.com Jun 10 2013 04:42:51 : %myproduct-3-mysubfacility-251010: " + "Health probe failed for server 1.2.3.4 on port 8083, connection refused by server"; record.put(Fields.MESSAGE, msg); assertTrue(morphline.process(record)); Record expected = new Record(); expected.put(Fields.MESSAGE, msg); expected.put("cisco_message_code", "%myproduct-3-251010"); expected.put("cisco_product", "myproduct"); expected.put("cisco_level", "3"); // expected.put("cisco_subfacility", "mysubfacility"); expected.put("cisco_message_id", "251010"); expected.put("syslog_message", "%myproduct-3-mysubfacility-251010: Health probe failed for server 1.2.3.4 " + "on port 8083, connection refused by server"); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); }
@Test public void testGrokSyslogNgCisco() throws Exception { morphline = createMorphline("test-morphlines/grokSyslogNgCisco"); Record record = new Record(); String msg = "<179>Jun 10 04:42:51 www.foo.com Jun 10 2013 04:42:51 : %myproduct-3-mysubfacility-251010: " + "Health probe failed for server 1.2.3.4 on port 8083, connection refused by server"; record.put(Fields.MESSAGE, msg); assertTrue(morphline.process(record)); Record expected = new Record(); expected.put(Fields.MESSAGE, msg); expected.put("cisco_message_code", "%myproduct-3-mysubfacility-251010"); expected.put("cisco_product", "myproduct"); expected.put("cisco_level", "3"); expected.put("cisco_subfacility", "mysubfacility"); expected.put("cisco_message_id", "251010"); expected.put("syslog_message", "%myproduct-3-mysubfacility-251010: Health probe failed for server 1.2.3.4 " + "on port 8083, connection refused by server"); assertEquals(expected, collector.getFirstRecord()); assertNotSame(record, collector.getFirstRecord()); }
assertSame(record, collector.getFirstRecord()); } else { assertNotSame(record, collector.getFirstRecord()); assertSame(record, collector.getFirstRecord()); } else { assertNotSame(record, collector.getFirstRecord());
assertSame(record, collector.getFirstRecord()); } else { assertNotSame(record, collector.getFirstRecord());