Skip to content

Commit

Permalink
Revert "[JENKINS-73677] Decorate GitClient after adding credentials (j…
Browse files Browse the repository at this point in the history
…enkinsci#1649)"

This reverts commit 843d48b.
  • Loading branch information
MarkEWaite committed Sep 20, 2024
1 parent ca0612e commit 88abcf5
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 44 deletions.
7 changes: 3 additions & 4 deletions src/main/java/hudson/plugins/git/GitSCM.java
Original file line number Diff line number Diff line change
Expand Up @@ -912,6 +912,9 @@ private GitClient createClient(TaskListener listener, EnvVars environment, @NonN
Git git = Git.with(listener, environment).in(ws).using(gitExe);

GitClient c = git.getClient();
for (GitSCMExtension ext : extensions) {
c = ext.decorate(this,c);
}

for (UserRemoteConfig uc : getUserRemoteConfigs()) {
String ucCredentialsId = uc.getCredentialsId();
Expand All @@ -935,10 +938,6 @@ private GitClient createClient(TaskListener listener, EnvVars environment, @NonN
}
// TODO add default credentials

for (GitSCMExtension ext : extensions) {
c = ext.decorate(this,c);
}

return c;
}

Expand Down
40 changes: 0 additions & 40 deletions src/test/java/hudson/plugins/git/GitSCMTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import com.cloudbees.plugins.credentials.CredentialsStore;
import com.cloudbees.plugins.credentials.SystemCredentialsProvider;
import com.cloudbees.plugins.credentials.common.StandardCredentials;
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials;
import com.cloudbees.plugins.credentials.domains.Domain;
import com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl;
import org.htmlunit.html.HtmlPage;
Expand Down Expand Up @@ -2916,30 +2915,6 @@ public void testCommitMessageIsPrintedToLogs() throws Exception {
r.waitForMessage("Commit message: \"test commit\"", run);
}

@Issue("JENKINS-73677")
@Test
public void testExtensionsDecorateClientAfterSettingCredentials() throws Exception {
assumeTrue("Test class max time " + MAX_SECONDS_FOR_THESE_TESTS + " exceeded", isTimeAvailable());
FreeStyleProject project = setupSimpleProject("master");
StandardCredentials extensionCredentials = createCredential(CredentialsScope.GLOBAL, "github");
store.addCredentials(Domain.global(), extensionCredentials);
// setup global config
List<UserRemoteConfig> remoteConfigs = GitSCM.createRepoList("https://github.com/jenkinsci/git-plugin", null);
project.setScm(new GitSCM(
remoteConfigs,
Collections.singletonList(new BranchSpec("master")),
false,
null,
null,
null,
List.of(new TestSetCredentialsGitSCMExtension((StandardUsernameCredentials) extensionCredentials))));
sampleRepo.init();
sampleRepo.write("file", "v1");
sampleRepo.git("commit", "--all", "--message=test commit");
Run<?, ?> run = r.buildAndAssertSuccess(project);
r.waitForMessage("using GIT_ASKPASS to set credentials " + extensionCredentials.getDescription(), run);
}

private void setupJGit(GitSCM git) {
git.gitTool="jgit";
r.jenkins.getDescriptorByType(GitTool.DescriptorImpl.class).setInstallations(new JGitTool(Collections.emptyList()));
Expand Down Expand Up @@ -2973,19 +2948,4 @@ private boolean isWindows() {
private StandardCredentials createCredential(CredentialsScope scope, String id) {
return new UsernamePasswordCredentialsImpl(scope, id, "desc: " + id, "username", "password");
}

public static class TestSetCredentialsGitSCMExtension extends GitSCMExtension {

private final StandardUsernameCredentials credentials;

public TestSetCredentialsGitSCMExtension(StandardUsernameCredentials credentials) {
this.credentials = credentials;
}

@Override
public GitClient decorate(GitSCM scm, GitClient git) throws GitException {
git.setCredentials(credentials);
return git;
}
}
}

0 comments on commit 88abcf5

Please sign in to comment.