[ https://issues.apache.org/jira/browse/NIFI-2565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15572098#comment-15572098 ]
ASF GitHub Bot commented on NIFI-2565: -------------------------------------- Github user markap14 commented on a diff in the pull request: https://github.com/apache/nifi/pull/1108#discussion_r83229352 --- Diff: nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGrokParser.java --- @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.nifi.processors.standard; + + +import org.apache.nifi.util.MockFlowFile; +import org.apache.nifi.util.TestRunner; +import org.apache.nifi.util.TestRunners; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; + +/** + * Created by snamsi on 05/10/16. + */ +public class TestGrokParser { + + private TestRunner testRunner; + final static Path GROK_LOG_INPUT = Paths.get("src/test/resources/TestGrokParser/apache.log"); + final static Path GROK_TEXT_INPUT = Paths.get("src/test/resources/TestGrokParser/simple_text.log"); + + + @Before + public void init() { + testRunner = TestRunners.newTestRunner(GrokParser.class); + } + + @Test + public void testGrokParserWithMatchedContent() throws IOException { + + + testRunner.setProperty(GrokParser.GROK_EXPRESSION, "%{COMMONAPACHELOG}"); + testRunner.setProperty(GrokParser.GROK_PATTERN_FILE, "src/test/resources/TestGrokParser/patterns"); + testRunner.enqueue(GROK_LOG_INPUT); + testRunner.run(); + testRunner.assertAllFlowFilesTransferred(GrokParser.REL_MATCH); + final MockFlowFile matched = testRunner.getFlowFilesForRelationship(GrokParser.REL_MATCH).get(0); + + matched.assertAttributeEquals("verb","GET"); + matched.assertAttributeEquals("response","401"); + matched.assertAttributeEquals("bytes","12846"); + matched.assertAttributeEquals("clientip","64.242.88.10"); + matched.assertAttributeEquals("auth","-"); + matched.assertAttributeEquals("timestamp","07/Mar/2004:16:05:49 -0800"); + matched.assertAttributeEquals("request","/twiki/bin/edit/Main/Double_bounce_sender?topicparent=Main.ConfigurationVariables"); + matched.assertAttributeEquals("httpversion","1.1"); + + } + + @Test + public void testGrokParserWithUnMatchedContent() throws IOException { + + + testRunner.setProperty(GrokParser.GROK_EXPRESSION, "%{ADDRESS}"); + testRunner.setProperty(GrokParser.GROK_PATTERN_FILE, "src/test/resources/TestGrokParser/patterns"); + testRunner.enqueue(GROK_TEXT_INPUT); + testRunner.run(); + testRunner.assertAllFlowFilesTransferred(GrokParser.REL_NO_MATCH); + final MockFlowFile notMatched = testRunner.getFlowFilesForRelationship(GrokParser.REL_NO_MATCH).get(0); + notMatched.assertContentEquals(GROK_TEXT_INPUT); + + } + + @Test(expected = java.lang.AssertionError.class) + public void testGrokParserWithNotFoundPatternFile() throws IOException { + + testRunner.setProperty(GrokParser.GROK_EXPRESSION, "%{COMMONAPACHELOG}"); + testRunner.setProperty(GrokParser.GROK_PATTERN_FILE, "src/test/resources/TestGrokParser/toto_file"); + testRunner.enqueue(GROK_LOG_INPUT); + testRunner.run(); + + } + + + @Test(expected = java.lang.AssertionError.class) --- End diff -- Rather than expected an AssertionError, we should avoid calling testRunner.run() and instead just use testRunner.assertNotValid() > NiFi processor to parse logs using Grok patterns > ------------------------------------------------ > > Key: NIFI-2565 > URL: https://issues.apache.org/jira/browse/NIFI-2565 > Project: Apache NiFi > Issue Type: Improvement > Reporter: Andre > Fix For: 1.1.0 > > > Following up on Ryan Ward to create a Grok capable parser > https://mail-archives.apache.org/mod_mbox/nifi-dev/201606.mbox/%3CCADD=rnPa8nHkJbeM280=PTQ=wurtwhstm5u+7btoo9pcym2...@mail.gmail.com%3E -- This message was sent by Atlassian JIRA (v6.3.4#6332)