diff options
-rw-r--r-- | sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java | 9 | ||||
-rw-r--r-- | sonar-plugin-api/src/test/java/org/sonar/api/config/AesCipherTest.java | 11 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java index 5392f3651f4..1b5ee8511ef 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java @@ -119,7 +119,12 @@ final class AesCipher extends Cipher { } } - private String getPathToSecretKey() { - return settings.getClearString(CoreProperties.ENCRYPTION_SECRET_KEY_FILE); + @VisibleForTesting + String getPathToSecretKey() { + String path = settings.getClearString(CoreProperties.ENCRYPTION_SECRET_KEY_FILE); + if (StringUtils.isBlank(path)) { + path = new File(FileUtils.getUserDirectoryPath(), ".sonar/sonar-secret.txt").getPath(); + } + return path; } } diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/config/AesCipherTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/config/AesCipherTest.java index 2adf627e289..b9f429bc7dd 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/config/AesCipherTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/config/AesCipherTest.java @@ -20,6 +20,7 @@ package org.sonar.api.config; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang.StringUtils; import org.junit.Test; import org.sonar.api.CoreProperties; @@ -114,6 +115,16 @@ public class AesCipherTest { } @Test + public void testDefaultPathToSecretKey() { + AesCipher cipher = new AesCipher(new Settings()); + + String path = cipher.getPathToSecretKey(); + + assertThat(StringUtils.isNotBlank(path), is(true)); + assertThat(new File(path).getName(), is("sonar-secret.txt")); + } + + @Test public void loadSecretKeyFromFile() throws Exception { AesCipher cipher = new AesCipher(new Settings()); Key secretKey = cipher.loadSecretFileFromFile(pathToSecretKey()); |