Skip to content

Commit

Permalink
Add test for JENKINS-30040 issue with workflow job logging on nonbloc…
Browse files Browse the repository at this point in the history
…king build step trigger
  • Loading branch information
svanoort committed Sep 1, 2015
1 parent f5c1ff7 commit bbccd61
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
Expand Up @@ -39,6 +39,7 @@
import hudson.model.Job;
import hudson.model.Run;
import hudson.util.IOException2;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.stapler.DataBoundConstructor;

import java.io.IOException;
Expand Down Expand Up @@ -157,7 +158,9 @@ public boolean perform(AbstractBuild<?, ?> build, Launcher launcher,
return buildStepResult;
}

private String getProjectListAsString(List<Job> projectList){
// Public but restricted so we can add tests without completely changing the tests package
@Restricted(value=org.kohsuke.accmod.restrictions.NoExternalUse.class)
public String getProjectListAsString(List<Job> projectList){
StringBuilder projectListString = new StringBuilder();
for (Iterator<Job> iterator = projectList.iterator(); iterator.hasNext();) {
Job project = iterator.next();
Expand Down
Expand Up @@ -45,6 +45,7 @@
import hudson.matrix.AxisList;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
Expand All @@ -58,6 +59,7 @@
import java.lang.System;

import jenkins.model.Jenkins;
import org.jvnet.hudson.test.Issue;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
Expand Down Expand Up @@ -235,6 +237,25 @@ public void testTriggerWithWorkflow() throws Exception {
assertNotNull(p.getLastBuild());
}

/** Verify that getProjectsList works with workflow and normal projects */
@Issue("JENKINS-30040")
public void testGetProjectsList() throws Exception {
WorkflowJob p = (WorkflowJob) Jenkins.getInstance().createProject(WorkflowJob.class, "project1");
p.setDefinition(new CpsFlowDefinition("println('hello')"));
Project<?, ?> p2 = createFreeStyleProject("project2");

Project<?, ?> triggerProject = createFreeStyleProject("projectA");
TriggerBuilder triggerBuilder = new TriggerBuilder(createTriggerConfig("project1"));
triggerProject.getBuildersList().add(triggerBuilder);

List<Job> jobs = new ArrayList<Job>();
jobs.add(p);
jobs.add(p2);
String projectListAsString = triggerBuilder.getProjectListAsString(jobs);
assertStringContains(projectListAsString, "project1");
assertStringContains(projectListAsString, "project2");
}

/** Verify that workflow build can be triggered with normal project too */
public void testTriggerWithWorkflowMixedTypes() throws Exception {
createFreeStyleProject("project1");
Expand Down

0 comments on commit bbccd61

Please sign in to comment.