Update package to match directory
Missed a merge commit for AWS CodeCommit support
This commit is contained in:
committed by
Spencer Gibb
parent
5a29d9c476
commit
d81c9250dc
@@ -27,7 +27,7 @@ import java.util.Map;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.cloud.config.environment.Environment;
|
||||
import org.springframework.cloud.config.server.credentials.GitCredentialsProviderFactory;
|
||||
import org.springframework.cloud.config.server.support.GitCredentialsProviderFactory;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.util.PatternMatchUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
@@ -63,7 +63,8 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
GitCredentialsProviderFactory credentialFactory = new GitCredentialsProviderFactory();
|
||||
super.setGitCredentialsProvider(credentialFactory.createFor(getUri(), getUsername(), getPassword()));
|
||||
super.setGitCredentialsProvider(credentialFactory.createFor(getUri(),
|
||||
getUsername(), getPassword(), getPassphrase()));
|
||||
super.afterPropertiesSet();
|
||||
for (String name : this.repos.keySet()) {
|
||||
PatternMatchingJGitEnvironmentRepository repo = this.repos.get(name);
|
||||
@@ -79,11 +80,16 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository
|
||||
}
|
||||
String user = repo.getUsername();
|
||||
String pass = repo.getPassword();
|
||||
String passphrase = repo.getPassphrase();
|
||||
if (user == null) {
|
||||
user = getUsername();
|
||||
pass = getPassword();
|
||||
}
|
||||
repo.setGitCredentialsProvider(credentialFactory.createFor(repo.getUri(), user, pass));
|
||||
if (passphrase == null) {
|
||||
passphrase = getPassphrase();
|
||||
}
|
||||
repo.setGitCredentialsProvider(credentialFactory.createFor(repo.getUri(),
|
||||
user, pass, passphrase));
|
||||
repo.afterPropertiesSet();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.config.server.credentials;
|
||||
package org.springframework.cloud.config.server.support;
|
||||
|
||||
import static org.springframework.util.StringUtils.hasText;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.config.server.credentials;
|
||||
package org.springframework.cloud.config.server.support;
|
||||
|
||||
/**
|
||||
* @author Don Laidlaw
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.config.server.credentials;
|
||||
package org.springframework.cloud.config.server.support;
|
||||
|
||||
|
||||
import static org.springframework.util.StringUtils.hasText;
|
||||
|
||||
@@ -49,9 +50,12 @@ public class GitCredentialsProviderFactory {
|
||||
* @param uri the URI of the repository (cannot be null)
|
||||
* @param username the username provided for the repository (may be null)
|
||||
* @param password the password provided for the repository (may be null)
|
||||
* @param passphrase the passphrase to unlock the ssh private key (may be null)
|
||||
* @return the first matched credentials provider or the default or null.
|
||||
*/
|
||||
public CredentialsProvider createFor(String uri, String username, String password) {
|
||||
public CredentialsProvider createFor(String uri,
|
||||
String username, String password, String passphrase) {
|
||||
|
||||
CredentialsProvider provider = null;
|
||||
if (awsAvailable() && AwsCodeCommitCredentialProvider.canHandle(uri)) {
|
||||
logger.debug("Constructing AwsCodeCommitCredentialProvider for URI " + uri);
|
||||
@@ -64,6 +68,11 @@ public class GitCredentialsProviderFactory {
|
||||
logger.debug("Constructing UsernamePasswordCredentialsProvider for URI " + uri);
|
||||
provider = new UsernamePasswordCredentialsProvider(username, password.toCharArray());
|
||||
}
|
||||
else if (hasText(passphrase)) {
|
||||
logger.debug("Constructing PassphraseCredentialsProvider for URI " + uri);
|
||||
provider = new PassphraseCredentialsProvider(passphrase);
|
||||
}
|
||||
|
||||
else {
|
||||
logger.debug("No credentials provider required for URI " + uri);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import org.eclipse.jgit.transport.CredentialItem;
|
||||
import org.eclipse.jgit.transport.URIish;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.cloud.config.server.support.AwsCodeCommitCredentialProvider;
|
||||
import org.springframework.cloud.config.server.support.GitCredentialsProviderFactory;
|
||||
|
||||
import com.amazonaws.auth.AWSCredentialsProvider;
|
||||
|
||||
@@ -48,7 +50,7 @@ public class AwsCodeCommitCredentialsProviderTests {
|
||||
public void init() {
|
||||
GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory();
|
||||
provider = (AwsCodeCommitCredentialProvider)
|
||||
factory.createFor(AWS_REPO, USER, PASSWORD);
|
||||
factory.createFor(AWS_REPO, USER, PASSWORD, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -22,6 +22,9 @@ import org.eclipse.jgit.transport.CredentialsProvider;
|
||||
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.cloud.config.server.support.AwsCodeCommitCredentialProvider;
|
||||
import org.springframework.cloud.config.server.support.GitCredentialsProviderFactory;
|
||||
import org.springframework.cloud.config.server.support.PassphraseCredentialsProvider;
|
||||
|
||||
/**
|
||||
* @author don laidlaw
|
||||
@@ -43,33 +46,33 @@ public class GitCredentialsProviderFactoryTests {
|
||||
|
||||
@Test
|
||||
public void testCreateForFileNoUsernameIsNull() {
|
||||
CredentialsProvider provider = factory.createFor(FILE_REPO, null, null);
|
||||
CredentialsProvider provider = factory.createFor(FILE_REPO, null, null, null);
|
||||
assertNull(provider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateForFileWithUsername() {
|
||||
CredentialsProvider provider = factory.createFor(FILE_REPO, USER, PASSWORD);
|
||||
CredentialsProvider provider = factory.createFor(FILE_REPO, USER, PASSWORD, null);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof UsernamePasswordCredentialsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateForServerNoUsernameIsNull() {
|
||||
CredentialsProvider provider = factory.createFor(GIT_REPO, null, null);
|
||||
CredentialsProvider provider = factory.createFor(GIT_REPO, null, null, null);
|
||||
assertNull(provider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateForServerWithUsername() {
|
||||
CredentialsProvider provider = factory.createFor(GIT_REPO, USER, PASSWORD);
|
||||
CredentialsProvider provider = factory.createFor(GIT_REPO, USER, PASSWORD, null);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof UsernamePasswordCredentialsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateForAwsNoUsername() {
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, null, null);
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, null, null, null);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof AwsCodeCommitCredentialProvider);
|
||||
AwsCodeCommitCredentialProvider aws = (AwsCodeCommitCredentialProvider) provider;
|
||||
@@ -79,7 +82,7 @@ public class GitCredentialsProviderFactoryTests {
|
||||
|
||||
@Test
|
||||
public void testCreateForAwsWithUsername() {
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, USER, PASSWORD);
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, USER, PASSWORD, null);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof AwsCodeCommitCredentialProvider);
|
||||
AwsCodeCommitCredentialProvider aws = (AwsCodeCommitCredentialProvider) provider;
|
||||
@@ -90,13 +93,20 @@ public class GitCredentialsProviderFactoryTests {
|
||||
@Test
|
||||
public void testCreateForAwsDisabled() {
|
||||
factory.setAwsCodeCommitEnabled(false);
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, null, null);
|
||||
CredentialsProvider provider = factory.createFor(AWS_REPO, null, null, null);
|
||||
assertNull(provider);
|
||||
provider = factory.createFor(AWS_REPO, USER, PASSWORD);
|
||||
provider = factory.createFor(AWS_REPO, USER, PASSWORD, null);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof UsernamePasswordCredentialsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatePassphraseCredentialProvider() {
|
||||
CredentialsProvider provider = factory.createFor(GIT_REPO, null, null, PASSWORD);
|
||||
assertNotNull(provider);
|
||||
assertTrue(provider instanceof PassphraseCredentialsProvider);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testIsAwsCodeCommitEnabled() {
|
||||
|
||||
Reference in New Issue
Block a user