1 package org.apache.maven.it;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.it.util.ResourceExtractor;
23
24 import java.io.File;
25 import java.util.Properties;
26
27
28
29
30
31
32 public class MavenITmng2577SettingsXmlInterpolationTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng2577SettingsXmlInterpolationTest()
37 {
38 super( "[2.0.3,)" );
39 }
40
41
42
43
44
45
46 public void testitEnvVars()
47 throws Exception
48 {
49 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-2577" );
50
51 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
52 verifier.setAutoclean( false );
53 verifier.deleteDirectory( "target" );
54 verifier.addCliOption( "--settings" );
55 verifier.addCliOption( "settings-env.xml" );
56 verifier.setEnvironmentVariable( "MNGIT", "env-var-test" );
57 verifier.setLogFileName( "log-env.txt" );
58 verifier.executeGoal( "validate" );
59 verifier.verifyErrorFreeLog();
60 verifier.resetStreams();
61
62 Properties props = verifier.loadProperties( "target/settings.properties" );
63 assertEquals( "env-var-test", props.getProperty( "settings.servers.0.username" ) );
64 }
65
66
67
68
69
70
71 public void testitSystemProps()
72 throws Exception
73 {
74 requiresMavenVersion( "[3.0-alpha-1,)" );
75
76 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-2577" );
77
78 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
79 verifier.setAutoclean( false );
80 verifier.deleteDirectory( "target" );
81 verifier.addCliOption( "--settings" );
82 verifier.addCliOption( "settings-sys.xml" );
83 verifier.setSystemProperty( "usr.MNGIT", "usr-prop-test" );
84 verifier.setLogFileName( "log-sys.txt" );
85 verifier.executeGoal( "validate" );
86 verifier.verifyErrorFreeLog();
87 verifier.resetStreams();
88
89 Properties props = verifier.loadProperties( "target/settings.properties" );
90 assertEquals( "usr-prop-test", props.getProperty( "settings.servers.0.username" ) );
91 assertEquals( File.separator, props.getProperty( "settings.servers.0.password" ) );
92 }
93
94 }