diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
index 30048e8409..2bce066f25 100644
--- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
@@ -24,6 +24,7 @@
import java.io.File;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -39,10 +40,10 @@ public MavenITmng0553SettingsAuthzEncryptionTest()
/**
* Test that the encrypted auth infos given in the settings.xml are decrypted.
*/
- public void testit0553()
+ public void testitBasic()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0553" );
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0553/test-1" );
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
verifier.setAutoclean( false );
@@ -61,4 +62,41 @@ public void testit0553()
assertEquals( "testtest", props.getProperty( "test.password" ) );
}
+ /**
+ * Test that the encrypted auth infos given in the settings.xml are decrypted when the master password resides
+ * in an external file.
+ */
+ /* FIXME: Outstanding bugs in plexus-sec-dispatcher prevent this from passing
+ public void testitRelocation()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0553/test-2" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.setAutoclean( false );
+ verifier.deleteDirectory( "target" );
+
+ // NOTE: The upper-case scheme name is essential part of the test
+ String secUrl = "FILE://" + new File( testDir, "relocated-settings-security.xml" ).toURI().getRawPath();
+ Properties filterProps = new Properties();
+ filterProps.setProperty( "@relocation@", secUrl );
+ // NOTE: The tilde ~ in the file name is essential part of the test
+ verifier.filterFile( "security-template.xml", "settings~security.xml", "UTF-8", filterProps );
+
+ List cliOptions = new ArrayList();
+ cliOptions.add( "--settings" );
+ cliOptions.add( "settings.xml" );
+ verifier.getSystemProperties().setProperty( "maven.sec.path", "settings~security.xml" );
+ verifier.setCliOptions( cliOptions );
+ // NOTE: The selection of the Turkish language for the JVM locale is essential part of the test
+ verifier.executeGoal( "validate", Collections.singletonMap( "MAVEN_OPTS", "-Duser.language=tr" ) );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ Properties props = verifier.loadProperties( "target/auth.properties" );
+ assertEquals( "testuser", props.getProperty( "test.username" ) );
+ assertEquals( "testtest", props.getProperty( "test.password" ) );
+ }
+ //*/
+
}
diff --git a/its/core-it-suite/src/test/resources/mng-0553/pom.xml b/its/core-it-suite/src/test/resources/mng-0553/test-1/pom.xml
similarity index 100%
rename from its/core-it-suite/src/test/resources/mng-0553/pom.xml
rename to its/core-it-suite/src/test/resources/mng-0553/test-1/pom.xml
diff --git a/its/core-it-suite/src/test/resources/mng-0553/settings-security.xml b/its/core-it-suite/src/test/resources/mng-0553/test-1/settings-security.xml
similarity index 100%
rename from its/core-it-suite/src/test/resources/mng-0553/settings-security.xml
rename to its/core-it-suite/src/test/resources/mng-0553/test-1/settings-security.xml
diff --git a/its/core-it-suite/src/test/resources/mng-0553/settings.xml b/its/core-it-suite/src/test/resources/mng-0553/test-1/settings.xml
similarity index 100%
rename from its/core-it-suite/src/test/resources/mng-0553/settings.xml
rename to its/core-it-suite/src/test/resources/mng-0553/test-1/settings.xml
diff --git a/its/core-it-suite/src/test/resources/mng-0553/test-2/pom.xml b/its/core-it-suite/src/test/resources/mng-0553/test-2/pom.xml
new file mode 100644
index 0000000000..44a2b8a052
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/mng-0553/test-2/pom.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+ 4.0.0
+
+ org.apache.maven.its.mng0553
+ test
+ 1.0-SNAPSHOT
+ jar
+
+ test
+
+ Test that the auth infos given in the settings.xml are pushed into the wagon manager and are available
+ to other components/plugins.
+
+
+
+
+
+ org.apache.maven.its.plugins
+ maven-it-plugin-uses-wagon
+ 2.1-SNAPSHOT
+
+ target/auth.properties
+
+ test
+
+
+
+
+ test
+ validate
+
+ dump-auth
+
+
+
+
+
+
+
diff --git a/its/core-it-suite/src/test/resources/mng-0553/test-2/relocated-settings-security.xml b/its/core-it-suite/src/test/resources/mng-0553/test-2/relocated-settings-security.xml
new file mode 100644
index 0000000000..df3ba1491c
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/mng-0553/test-2/relocated-settings-security.xml
@@ -0,0 +1,4 @@
+
+
+ {jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}
+
diff --git a/its/core-it-suite/src/test/resources/mng-0553/test-2/security-template.xml b/its/core-it-suite/src/test/resources/mng-0553/test-2/security-template.xml
new file mode 100644
index 0000000000..12a46cec32
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/mng-0553/test-2/security-template.xml
@@ -0,0 +1,4 @@
+
+
+ @relocation@
+
diff --git a/its/core-it-suite/src/test/resources/mng-0553/test-2/settings.xml b/its/core-it-suite/src/test/resources/mng-0553/test-2/settings.xml
new file mode 100644
index 0000000000..572e5b856d
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/mng-0553/test-2/settings.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ test
+ testuser
+ {8+qG0C/CnRsH+45rqY50rWb1cMILU4zu9K/sZ8omYzs=}
+
+
+