Skip to content

Commit a6ebef6

Browse files
authored
Merge pull request #292 from jglick/getItemName-JENKINS-72613
[JENKINS-72613] Demonstrating bug & fix in test
2 parents df536c9 + 76ec406 commit a6ebef6

File tree

2 files changed

+47
-4
lines changed

2 files changed

+47
-4
lines changed

pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,25 @@ THE SOFTWARE.
6363
</pluginRepositories>
6464
<properties>
6565
<changelist>999999-SNAPSHOT</changelist>
66-
<jenkins.version>2.414.3</jenkins.version>
66+
<jenkins.version>2.444</jenkins.version>
6767
<no-test-jar>false</no-test-jar>
6868
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
6969
</properties>
7070
<dependencyManagement>
7171
<dependencies>
7272
<dependency>
7373
<groupId>io.jenkins.tools.bom</groupId>
74-
<artifactId>bom-2.414.x</artifactId>
75-
<version>2705.vf5c48c31285b_</version>
74+
<artifactId>bom-2.440.x</artifactId>
75+
<version>2746.vb_79a_1d3e7b_c8</version>
7676
<scope>import</scope>
7777
<type>pom</type>
7878
</dependency>
79+
<!-- TODO until in BOM -->
80+
<dependency>
81+
<groupId>org.jenkins-ci.plugins</groupId>
82+
<artifactId>cloudbees-folder</artifactId>
83+
<version>6.919.va_e17e72383f5</version>
84+
</dependency>
7985
</dependencies>
8086
</dependencyManagement>
8187
<dependencies>

src/test/java/org/jenkinsci/plugins/workflow/multibranch/WorkflowMultiBranchProjectTest.java

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import com.cloudbees.hudson.plugins.folder.computed.FolderComputation;
2828
import edu.umd.cs.findbugs.annotations.NonNull;
29+
import hudson.model.AbstractItem;
2930
import hudson.model.DescriptorVisibilityFilter;
3031
import hudson.model.Item;
3132
import hudson.model.Queue;
@@ -53,13 +54,19 @@
5354
import jenkins.plugins.git.GitSCMSource;
5455
import jenkins.plugins.git.GitBranchSCMHead;
5556
import jenkins.plugins.git.GitSampleRepoRule;
57+
import jenkins.plugins.git.traits.BranchDiscoveryTrait;
5658
import jenkins.scm.api.SCMHead;
5759
import jenkins.scm.api.SCMSource;
5860
import jenkins.scm.impl.SingleSCMSource;
61+
import static org.hamcrest.MatcherAssert.assertThat;
5962
import static org.hamcrest.Matchers.*;
6063
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
6164
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
62-
import static org.junit.Assert.*;
65+
import static org.junit.Assert.assertEquals;
66+
import static org.junit.Assert.assertFalse;
67+
import static org.junit.Assert.assertNull;
68+
import static org.junit.Assert.assertTrue;
69+
import static org.junit.Assert.fail;
6370
import org.junit.ClassRule;
6471
import org.junit.Rule;
6572
import org.junit.Test;
@@ -267,4 +274,34 @@ public DescriptorImpl() {
267274
r.assertLogContains("branch=feature2", b2);
268275
}
269276

277+
@Issue("JENKINS-72613")
278+
@Test public void reloadMangledName() throws Exception {
279+
r.jenkins.setQuietPeriod(0);
280+
sampleRepo.init();
281+
sampleRepo.write("Jenkinsfile", "echo 'on master'");
282+
sampleRepo.git("add", "Jenkinsfile");
283+
sampleRepo.git("commit", "--all", "--message=init");
284+
for (var branch : List.of("ok-1", "danger_1")) {
285+
sampleRepo.git("checkout", "-b", branch, "master");
286+
sampleRepo.write("Jenkinsfile", "echo 'on " + branch + "'");
287+
sampleRepo.git("add", "Jenkinsfile");
288+
sampleRepo.git("commit", "--all", "--message=" + branch);
289+
}
290+
var mp = r.jenkins.createProject(WorkflowMultiBranchProject.class, "p");
291+
var source = new GitSCMSource(sampleRepo.toString());
292+
source.setTraits(List.of(new BranchDiscoveryTrait()));
293+
mp.getSourcesList().add(new BranchSource(source));
294+
var ok = scheduleAndFindBranchProject(mp, "ok-1");
295+
var danger = findBranchProject(mp, "danger_1");
296+
r.waitUntilNoActivity();
297+
assertThat(ok.getRootDir().getName(), is("ok-1"));
298+
assertThat(danger.getRootDir().getName(), is("danger-1.i2g9ue"));
299+
ok.doReload();
300+
assertThat(mp.getItems().stream().map(AbstractItem::getName).toArray(String[]::new),
301+
arrayContainingInAnyOrder("master", "ok-1", "danger_1"));
302+
danger.doReload();
303+
assertThat(mp.getItems().stream().map(AbstractItem::getName).toArray(String[]::new),
304+
arrayContainingInAnyOrder("master", "ok-1", "danger_1"));
305+
}
306+
270307
}

0 commit comments

Comments
 (0)