4848import com .teragrep .pth_03 .ParserStructureTestingUtility ;
4949import com .teragrep .pth_03 .ParserSyntaxTestingUtility ;
5050import org .junit .jupiter .api .Assertions ;
51- import org .junit .jupiter .api .Test ;
5251import org .junit .jupiter .params .ParameterizedTest ;
5352import org .junit .jupiter .params .provider .ValueSource ;
5453import org .w3c .dom .NodeList ;
@@ -358,4 +357,40 @@ void testHdfsSaveAllParameters(String arg) {
358357 assertEquals (1 , headerNodes .getLength ());
359358 assertEquals (1 , pathNodes .getLength ());
360359 }
360+
361+ @ ParameterizedTest
362+ @ ValueSource (strings = {
363+ "teragrep_regexextract" ,
364+ })
365+ void testRegexExtract (String arg ) {
366+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
367+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
368+ String regexextractPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_regexextractParameter" ;
369+ NodeList regexextractNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexextractPath , false ));
370+ // Check that 1 found
371+ assertEquals (1 , regexextractNodes .getLength ());
372+ }
373+
374+ @ ParameterizedTest
375+ @ ValueSource (strings = {
376+ "teragrep_regexextract_params" ,
377+ })
378+ void testRegexExtractWithParams (String arg ) {
379+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
380+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
381+ String regexextractPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_regexextractParameter" ;
382+ String regexPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_regexextractParameter/t_regexParameter" ;
383+ String inputPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_regexextractParameter/t_inputParameter" ;
384+ String outputPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_regexextractParameter/t_outputParameter" ;
385+ NodeList regexextractNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexextractPath , true ));
386+ NodeList regexNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexPath , false ));
387+ NodeList inputNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , inputPath , false ));
388+ NodeList outputNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , outputPath , false ));
389+
390+ // Check that 1 found for each path
391+ assertEquals (1 , regexextractNodes .getLength ());
392+ assertEquals (1 , regexNodes .getLength ());
393+ assertEquals (1 , inputNodes .getLength ());
394+ assertEquals (1 , outputNodes .getLength ());
395+ }
361396}
0 commit comments