1818import org .junit .jupiter .api .DisplayName ;
1919import org .junit .jupiter .api .Test ;
2020import org .junitpioneer .jupiter .ExpectedToFail ;
21+ import org .openrewrite .ExecutionContext ;
22+ import org .openrewrite .InMemoryExecutionContext ;
23+ import org .openrewrite .Parser ;
24+ import org .openrewrite .SourceFile ;
25+ import org .openrewrite .tree .ParsingEventListener ;
26+ import org .openrewrite .tree .ParsingExecutionContextView ;
2127import org .springframework .beans .factory .annotation .Autowired ;
2228import org .springframework .boot .test .context .SpringBootTest ;
2329import org .springframework .boot .test .context .TestConfiguration ;
2430import org .springframework .context .event .EventListener ;
2531import org .springframework .sbm .boot .autoconfigure .SbmSupportRewriteConfiguration ;
32+ import org .springframework .sbm .parsers .RewriteProjectParser ;
2633import org .springframework .sbm .parsers .RewriteProjectParsingResult ;
2734import org .springframework .sbm .parsers .events .FinishedParsingResourceEvent ;
35+ import org .springframework .sbm .parsers .events .RewriteParsingEventListenerAdapter ;
2836
2937import java .nio .file .Path ;
3038import java .util .ArrayList ;
@@ -49,7 +57,14 @@ public class RewriteMavenProjectParserIntegrationTest {
4957 void shouldPublishBuildEvents () {
5058
5159 Path baseDir = Path .of ("./testcode/maven-projects/multi-module-1" );
52- RewriteProjectParsingResult parsingResult = sut .parse (baseDir );
60+ ExecutionContext executionContext = new InMemoryExecutionContext (t -> {throw new RuntimeException (t );});
61+ ParsingExecutionContextView .view (executionContext ).setParsingListener (new ParsingEventListener () {
62+ @ Override
63+ public void parsed (Parser .Input input , SourceFile sourceFile ) {
64+ capturedEvents .add (new FinishedParsingResourceEvent (input , sourceFile ));
65+ }
66+ });
67+ RewriteProjectParsingResult parsingResult = sut .parse (baseDir , executionContext );
5368 assertThat (capturedEvents ).hasSize (3 );
5469 assertThat (capturedEvents .get (0 ).sourceFile ().getSourcePath ().toString ())
5570 .isEqualTo ("pom.xml" );
@@ -58,13 +73,4 @@ void shouldPublishBuildEvents() {
5873 assertThat (capturedEvents .get (2 ).sourceFile ().getSourcePath ().toString ())
5974 .isEqualTo ("module-a/pom.xml" );
6075 }
61-
62- @ TestConfiguration
63- static class TestEventListener {
64- @ EventListener (FinishedParsingResourceEvent .class )
65- public void onEvent (FinishedParsingResourceEvent event ) {
66- capturedEvents .add (event );
67- }
68- }
69-
7076}
0 commit comments