Example usage for org.eclipse.jgit.transport CredentialsProvider supports

List of usage examples for org.eclipse.jgit.transport CredentialsProvider supports

Introduction

In this page you can find the example usage for org.eclipse.jgit.transport CredentialsProvider supports.

Prototype

public abstract boolean supports(CredentialItem... items);

Source Link

Document

Check if the provider can supply the necessary org.eclipse.jgit.transport.CredentialItem s.

Usage

From source file:org.eclipse.orion.internal.server.filesystem.git.OrionSshSessionFactory.java

License:Open Source License

@Override
public synchronized Session getSession(String user, String pass, String host, int port,
        CredentialsProvider credentialsProvider, FS fs) throws JSchException {
    if (user == null && credentialsProvider instanceof OrionUserCredentialsProvider) {
        OrionUserCredentialsProvider oucp = (OrionUserCredentialsProvider) credentialsProvider;
        CredentialsProvider cp = SshConfigManager.getDefault().getCredentialsProvider(oucp.getOrionUser(),
                oucp.getUri());/*w w  w  . j a v  a  2s.co m*/
        if (cp != null) {
            CredentialItem.Username u = new CredentialItem.Username();
            if (cp.supports(u) && cp.get(oucp.getUri(), u)) {
                user = u.getValue();
            }
        }
    }
    if (port <= 0)
        port = SSH_PORT;

    final Session session = createSession(user, host, port, credentialsProvider);
    if (pass != null)
        session.setPassword(pass);
    if (credentialsProvider != null && !credentialsProvider.isInteractive()) {
        session.setUserInfo(new CredentialsProviderUserInfo(session, credentialsProvider));
    }
    return session;
}

From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java

License:Apache License

@Test
public void usernamePasswordShouldSetCredentials() throws Exception {
    Git mockGit = mock(Git.class);
    MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit);

    JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment);
    envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand));
    envRepository.setUri("git+ssh://git@somegitserver/somegitrepo");
    envRepository.setBasedir(new File("./mybasedir"));
    final String username = "someuser";
    final String password = "mypassword";
    envRepository.setUsername(username);
    envRepository.setPassword(password);
    envRepository.setCloneOnStart(true);
    envRepository.afterPropertiesSet();/*from  w  w w .java  2 s  .c  om*/

    assertTrue(mockCloneCommand.getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider);

    CredentialsProvider provider = mockCloneCommand.getCredentialsProvider();
    CredentialItem.Username usernameCredential = new CredentialItem.Username();
    CredentialItem.Password passwordCredential = new CredentialItem.Password();
    assertTrue(provider.supports(usernameCredential));
    assertTrue(provider.supports(passwordCredential));

    provider.get(new URIish(), usernameCredential);
    assertEquals(usernameCredential.getValue(), username);
    provider.get(new URIish(), passwordCredential);
    assertEquals(String.valueOf(passwordCredential.getValue()), password);
}

From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java

License:Apache License

@Test
public void passphraseShouldSetCredentials() throws Exception {
    final String passphrase = "mypassphrase";
    Git mockGit = mock(Git.class);
    MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit);

    JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment);
    envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand));
    envRepository.setUri("git+ssh://git@somegitserver/somegitrepo");
    envRepository.setBasedir(new File("./mybasedir"));
    envRepository.setPassphrase(passphrase);
    envRepository.setCloneOnStart(true);
    envRepository.afterPropertiesSet();/*from w w  w.  j  a  v  a  2 s  . c o m*/

    assertTrue(mockCloneCommand.hasPassphraseCredentialsProvider());

    CredentialsProvider provider = mockCloneCommand.getCredentialsProvider();
    assertFalse(provider.isInteractive());

    CredentialItem.StringType stringCredential = new CredentialItem.StringType(
            PassphraseCredentialsProvider.PROMPT, true);

    assertTrue(provider.supports(stringCredential));
    provider.get(new URIish(), stringCredential);
    assertEquals(stringCredential.getValue(), passphrase);
}

From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java

License:Apache License

@Test
public void gitCredentialsProviderFactoryCreatesPassphraseProvider() throws Exception {
    final String passphrase = "mypassphrase";
    final String gitUri = "git+ssh://git@somegitserver/somegitrepo";
    GitCredentialsProviderFactory credentialsFactory = new GitCredentialsProviderFactory();
    Git mockGit = mock(Git.class);
    MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit);

    JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment);
    envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand));
    envRepository.setUri(gitUri);/*from   www.  ja  va 2  s. c o m*/
    envRepository.setBasedir(new File("./mybasedir"));
    envRepository.setGitCredentialsProvider(credentialsFactory.createFor(gitUri, null, null, passphrase));
    envRepository.setCloneOnStart(true);
    envRepository.afterPropertiesSet();

    assertTrue(mockCloneCommand.hasPassphraseCredentialsProvider());

    CredentialsProvider provider = mockCloneCommand.getCredentialsProvider();
    assertFalse(provider.isInteractive());

    CredentialItem.StringType stringCredential = new CredentialItem.StringType(
            PassphraseCredentialsProvider.PROMPT, true);

    assertTrue(provider.supports(stringCredential));
    provider.get(new URIish(), stringCredential);
    assertEquals(stringCredential.getValue(), passphrase);

}

From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java

License:Apache License

@Test
public void gitCredentialsProviderFactoryCreatesUsernamePasswordProvider() throws Exception {
    GitCredentialsProviderFactory credentialsFactory = new GitCredentialsProviderFactory();
    Git mockGit = mock(Git.class);
    MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit);
    final String username = "someuser";
    final String password = "mypassword";

    JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment);
    envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand));
    envRepository.setUri("git+ssh://git@somegitserver/somegitrepo");
    envRepository.setBasedir(new File("./mybasedir"));
    envRepository.setGitCredentialsProvider(
            credentialsFactory.createFor(envRepository.getUri(), username, password, null));
    envRepository.setCloneOnStart(true);
    envRepository.afterPropertiesSet();/*from   w ww .  j  a  va 2s  .  c o  m*/

    assertTrue(mockCloneCommand.getCredentialsProvider() instanceof UsernamePasswordCredentialsProvider);

    CredentialsProvider provider = mockCloneCommand.getCredentialsProvider();
    CredentialItem.Username usernameCredential = new CredentialItem.Username();
    CredentialItem.Password passwordCredential = new CredentialItem.Password();
    assertTrue(provider.supports(usernameCredential));
    assertTrue(provider.supports(passwordCredential));

    provider.get(new URIish(), usernameCredential);
    assertEquals(usernameCredential.getValue(), username);
    provider.get(new URIish(), passwordCredential);
    assertEquals(String.valueOf(passwordCredential.getValue()), password);
}