@@ -79,7 +79,11 @@ public class TeragrepSyntaxTests {
7979 "teragrep_foreachbatch" ,
8080 "teragrep_foreachbatch_transformStatement" ,
8181 "teragrep_config_set" ,
82- "teragrep_config_get"
82+ "teragrep_config_get" ,
83+ "teragrep_bloom_create_table" ,
84+ "teragrep_bloom_update_table" ,
85+ "teragrep_bloom_create_regex" ,
86+ "teragrep_bloom_update_regex"
8387 })
8488 public void teragrepSyntaxParseTest (String arg ) {
8589 String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
@@ -362,6 +366,98 @@ void testHdfsSaveAllParameters(String arg) {
362366 assertEquals (1 , pathNodes .getLength ());
363367 }
364368
369+ @ ParameterizedTest
370+ @ ValueSource (strings = {
371+ "teragrep_bloom_create_table"
372+ })
373+ void testBloomCreateTableName (String arg ) {
374+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
375+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
376+ String tableParamPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_tableParameter" ;
377+ String tableNamePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_tableParameter/fieldType/value" ;
378+ String optionModePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/value" ;
379+
380+ NodeList tableParamNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , tableParamPath , false ));
381+ NodeList tableNameNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , tableNamePath , false ));
382+ NodeList createNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , optionModePath , false ));
383+
384+ assertEquals (1 , tableParamNodes .getLength ());
385+ assertEquals (1 , tableNameNodes .getLength ());
386+ assertEquals (1 , createNodes .getLength ());
387+
388+ assertEquals ("myTable" , tableNameNodes .item (0 ).getTextContent ());
389+ assertEquals ("create" , createNodes .item (0 ).getTextContent ());
390+ }
391+
392+ @ ParameterizedTest
393+ @ ValueSource (strings = {
394+ "teragrep_bloom_update_table"
395+ })
396+ void testBloomUpdateTableName (String arg ) {
397+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
398+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
399+ String tableParamPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_tableParameter" ;
400+ String tableNamePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_tableParameter/fieldType/value" ;
401+ String optionModePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/value" ;
402+
403+ NodeList tableParamNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , tableParamPath , false ));
404+ NodeList tableNameNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , tableNamePath , false ));
405+ NodeList updateNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , optionModePath , false ));
406+
407+ assertEquals (1 , tableParamNodes .getLength ());
408+ assertEquals (1 , tableNameNodes .getLength ());
409+ assertEquals (1 , updateNodes .getLength ());
410+
411+ assertEquals ("myTable" , tableNameNodes .item (0 ).getTextContent ());
412+ assertEquals ("update" , updateNodes .item (0 ).getTextContent ());
413+ }
414+
415+ @ ParameterizedTest
416+ @ ValueSource (strings = {
417+ "teragrep_bloom_create_regex"
418+ })
419+ void testBloomCreateRegex (String arg ) {
420+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
421+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
422+ String regexParamPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_regexParameter" ;
423+ String regexPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_regexParameter/stringType/value" ;
424+ String optionModePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/value" ;
425+
426+ NodeList regexParamNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexParamPath , false ));
427+ NodeList regexNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexPath , false ));
428+ NodeList createNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , optionModePath , false ));
429+
430+ assertEquals (1 , regexParamNodes .getLength ());
431+ assertEquals (1 , regexNodes .getLength ());
432+ assertEquals (1 , createNodes .getLength ());
433+
434+ assertEquals ("\\ w{4}" , regexNodes .item (0 ).getTextContent ());
435+ assertEquals ("create" , createNodes .item (0 ).getTextContent ());
436+ }
437+
438+ @ ParameterizedTest
439+ @ ValueSource (strings = {
440+ "teragrep_bloom_update_regex"
441+ })
442+ void testBloomUpdateRegex (String arg ) {
443+ ParserStructureTestingUtility pstu = new ParserStructureTestingUtility ();
444+ String fileName = "src/test/resources/antlr4/commands/teragrep/" + arg + ".txt" ;
445+ String regexParamPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_regexParameter" ;
446+ String regexPath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/t_regexParameter/stringType/value" ;
447+ String optionModePath = "/root/transformStatement/teragrepTransformation/t_execParameter/t_bloomModeParameter/t_bloomOptionParameter/value" ;
448+
449+ NodeList regexParamNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexParamPath , false ));
450+ NodeList regexNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , regexPath , false ));
451+ NodeList updateNodes = Assertions .assertDoesNotThrow (() -> (NodeList ) pstu .xpathQueryFile (fileName , optionModePath , false ));
452+
453+ assertEquals (1 , regexParamNodes .getLength ());
454+ assertEquals (1 , regexNodes .getLength ());
455+ assertEquals (1 , updateNodes .getLength ());
456+
457+ assertEquals ("\\ w{4}" , regexNodes .item (0 ).getTextContent ());
458+ assertEquals ("update" , updateNodes .item (0 ).getTextContent ());
459+ }
460+
365461 @ ParameterizedTest
366462 @ ValueSource (strings = {
367463 "teragrep_regexextract" ,
0 commit comments