31
31
import java .util .HashMap ;
32
32
import java .util .List ;
33
33
import java .util .Map ;
34
+ import java .util .Objects ;
34
35
import java .util .Optional ;
35
36
import java .util .concurrent .atomic .AtomicBoolean ;
36
37
import java .util .function .Predicate ;
@@ -350,6 +351,7 @@ public static final class AppOutputVerifier {
350
351
this .launcherPath = helloAppLauncher ;
351
352
this .outputFilePath = TKit .workDir ().resolve (OUTPUT_FILENAME );
352
353
this .params = new HashMap <>();
354
+ this .env = new HashMap <>();
353
355
this .defaultLauncherArgs = new ArrayList <>();
354
356
}
355
357
@@ -363,6 +365,16 @@ public AppOutputVerifier expectedExitCode(int v) {
363
365
return this ;
364
366
}
365
367
368
+ public AppOutputVerifier addEnvironment (Map <String , String > v ) {
369
+ env .putAll (v );
370
+ return this ;
371
+ }
372
+
373
+ public AppOutputVerifier addEnvironmentVar (String name , String value ) {
374
+ env .put (Objects .requireNonNull (name ), Objects .requireNonNull (name ));
375
+ return this ;
376
+ }
377
+
366
378
public AppOutputVerifier addDefaultArguments (String ... v ) {
367
379
return addDefaultArguments (List .of (v ));
368
380
}
@@ -466,6 +478,10 @@ private Executor getExecutor(String...args) {
466
478
.setExecutable (executablePath )
467
479
.addArguments (List .of (args ));
468
480
481
+ env .forEach ((envVarName , envVarValue ) -> {
482
+ executor .setEnvVar (envVarName , envVarValue );
483
+ });
484
+
469
485
return configureEnvironment (executor );
470
486
}
471
487
@@ -476,6 +492,7 @@ private Executor getExecutor(String...args) {
476
492
private int expectedExitCode ;
477
493
private final List <String > defaultLauncherArgs ;
478
494
private final Map <String , String > params ;
495
+ private final Map <String , String > env ;
479
496
}
480
497
481
498
public static AppOutputVerifier assertApp (Path helloAppLauncher ) {
0 commit comments