11import { executeMavenPipeline } from '../../../../lib/maven/executor' ;
2+ import * as plugin from '../../../../lib' ;
23import * as dependencyTree from '../../../../lib/maven/dependency-tree' ;
34import * as dependencyResolve from '../../../../lib/maven/dependency-resolve' ;
45import * as version from '../../../../lib/maven/version' ;
@@ -98,9 +99,13 @@ describe('executeMavenPipeline conditional logic', () => {
9899 } ) ;
99100
100101 // Mock resolve result with resolved versions
101- mockExecuteMavenDependencyResolve . mockResolvedValue ( `[INFO] The following files have been resolved:
102+ mockExecuteMavenDependencyResolve . mockResolvedValue ( {
103+ dependencyResolveResult : `[INFO] The following files have been resolved:
102104[INFO] junit:junit:jar:4.13.2:test -- module junit [auto]
103- [INFO] org.slf4j:slf4j-api:jar:1.7.36:compile -- module org.slf4j.api` ) ;
105+ [INFO] org.slf4j:slf4j-api:jar:1.7.36:compile -- module org.slf4j.api` ,
106+ command : 'mvn' ,
107+ args : [ 'dependency:resolve' , '--batch-mode' ] ,
108+ } ) ;
104109
105110 const result = await executeMavenPipeline ( context , false , false , [ ] ) ;
106111
@@ -167,8 +172,12 @@ describe('executeMavenPipeline conditional logic', () => {
167172 args : [ 'test-compile' , 'dependency:tree' , '--batch-mode' ] ,
168173 } ) ;
169174
170- mockExecuteMavenDependencyResolve . mockResolvedValue ( `[INFO] The following files have been resolved:
171- [INFO] com.example:module-a:jar:1.0.0:compile -- module com.example.module.a` ) ;
175+ mockExecuteMavenDependencyResolve . mockResolvedValue ( {
176+ dependencyResolveResult : `[INFO] The following files have been resolved:
177+ [INFO] com.example:module-a:jar:1.0.0:compile -- module com.example.module.a` ,
178+ command : 'mvn' ,
179+ args : [ 'dependency:resolve' , '--batch-mode' ] ,
180+ } ) ;
172181
173182 const result = await executeMavenPipeline ( context , true , false , [
174183 '-Pprofile' ,
@@ -192,4 +201,40 @@ describe('executeMavenPipeline conditional logic', () => {
192201
193202 expect ( result . versionResolver ) . not . toBe ( NO_OP_VERSION_RESOLVER ) ;
194203 } ) ;
204+
205+ test ( 'should log mvn output when requested' , async ( ) => {
206+ mockExecuteMavenDependencyTree . mockResolvedValue ( {
207+ dependencyTreeResult : `digraph "com.example:test:jar:1.0.0" {
208+ "com.example:test:jar:1.0.0" -> "junit:junit:jar:RELEASE:test" ;
209+ }` ,
210+ command : 'mvn' ,
211+ args : [ 'dependency:tree' , '--batch-mode' ] ,
212+ } ) ;
213+
214+ mockExecuteMavenDependencyResolve . mockResolvedValue ( {
215+ dependencyResolveResult : `[INFO] Resolved artifacts
216+ [INFO] junit:junit:jar:4.13.2:test` ,
217+ command : 'mvn' ,
218+ args : [ 'dependency:resolve' , '--batch-mode' ] ,
219+ } ) ;
220+
221+ const debugSpy = jest
222+ . spyOn ( plugin , 'debug' )
223+ . mockImplementation ( ( ) => undefined ) ;
224+
225+ try {
226+ await executeMavenPipeline ( context , false , false , [ ] , true ) ;
227+
228+ expect ( debugSpy ) . toHaveBeenCalledWith (
229+ expect . stringContaining ( 'dependency:tree output' ) ,
230+ expect . stringContaining ( 'digraph "com.example:test:jar:1.0.0"' ) ,
231+ ) ;
232+ expect ( debugSpy ) . toHaveBeenCalledWith (
233+ expect . stringContaining ( 'dependency:resolve output' ) ,
234+ expect . stringContaining ( 'Resolved artifacts' ) ,
235+ ) ;
236+ } finally {
237+ debugSpy . mockRestore ( ) ;
238+ }
239+ } ) ;
195240} ) ;
0 commit comments