Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>4.16</version>
<version>4.19</version>
<relativePath />
</parent>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.MockAuthorizationStrategy;
import org.jvnet.hudson.test.RestartableJenkinsRule;
import org.jvnet.hudson.test.JenkinsSessionRule;

import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
Expand All @@ -28,42 +28,42 @@
public class DurabilityBasicsTest {

@Rule
public RestartableJenkinsRule r = new RestartableJenkinsRule();
public JenkinsSessionRule sessions = new JenkinsSessionRule();

@Test
public void configRoundTrip() {
r.then(r -> {
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = r.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
public void configRoundTrip() throws Throwable {
sessions.then(j -> {
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = j.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
level.setDurabilityHint(FlowDurabilityHint.PERFORMANCE_OPTIMIZED);
r.configRoundtrip();
j.configRoundtrip();
Assert.assertEquals(FlowDurabilityHint.PERFORMANCE_OPTIMIZED, level.getDurabilityHint());
level.setDurabilityHint(null);
r.configRoundtrip();
j.configRoundtrip();
Assert.assertNull(level.getDurabilityHint());

// Customize again so we can check for persistence
level.setDurabilityHint(FlowDurabilityHint.PERFORMANCE_OPTIMIZED);
Assert.assertEquals(FlowDurabilityHint.PERFORMANCE_OPTIMIZED, level.getDurabilityHint());
});
r.then(r -> {
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = r.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
sessions.then(j -> {
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = j.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
Assert.assertEquals(FlowDurabilityHint.PERFORMANCE_OPTIMIZED, level.getDurabilityHint());
});
}

@Test
public void defaultHandling() {
r.then(r -> {
public void defaultHandling() throws Throwable {
sessions.then(j -> {
Assert.assertEquals(GlobalDefaultFlowDurabilityLevel.SUGGESTED_DURABILITY_HINT, GlobalDefaultFlowDurabilityLevel.getDefaultDurabilityHint());
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = r.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
GlobalDefaultFlowDurabilityLevel.DescriptorImpl level = j.jenkins.getExtensionList(GlobalDefaultFlowDurabilityLevel.DescriptorImpl.class).get(0);
level.setDurabilityHint(FlowDurabilityHint.PERFORMANCE_OPTIMIZED);
Assert.assertEquals(FlowDurabilityHint.PERFORMANCE_OPTIMIZED, GlobalDefaultFlowDurabilityLevel.getDefaultDurabilityHint());
});
}

@Test
public void managePermissionShouldAccessGlobalConfig() {
r.then(r -> {
public void managePermissionShouldAccessGlobalConfig() throws Throwable {
sessions.then(j -> {
Permission jenkinsManage;
try {
jenkinsManage = getJenkinsManage();
Expand All @@ -73,8 +73,8 @@ public void managePermissionShouldAccessGlobalConfig() {
}
final String USER = "user";
final String MANAGER = "manager";
r.jenkins.setSecurityRealm(r.createDummySecurityRealm());
r.jenkins.setAuthorizationStrategy(new MockAuthorizationStrategy()
j.jenkins.setSecurityRealm(j.createDummySecurityRealm());
j.jenkins.setAuthorizationStrategy(new MockAuthorizationStrategy()
// Read access
.grant(Jenkins.READ).everywhere().to(USER)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,22 +41,21 @@
import org.jvnet.hudson.test.BuildWatcher;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.LoggerRule;
import org.jvnet.hudson.test.RestartableJenkinsRule;
import org.jvnet.hudson.test.JenkinsSessionRule;

public class FlowExecutionListTest {

@ClassRule public static BuildWatcher buildWatcher = new BuildWatcher();
@Rule public RestartableJenkinsRule rr = new RestartableJenkinsRule();
@Rule public JenkinsSessionRule sessions = new JenkinsSessionRule();
@Rule public LoggerRule logging = new LoggerRule().record(FlowExecutionList.class, Level.FINE);

@Issue("JENKINS-40771")
@Test public void simultaneousRegister() {
rr.addStep(new Statement() {
@Override public void evaluate() throws Throwable {
WorkflowJob p = rr.j.createProject(WorkflowJob.class, "p");
@Test public void simultaneousRegister() throws Throwable {
sessions.then(j -> {
WorkflowJob p = j.createProject(WorkflowJob.class, "p");
{ // make sure there is an initial FlowExecutionList.xml
p.setDefinition(new CpsFlowDefinition("", true));
rr.j.buildAndAssertSuccess(p);
j.buildAndAssertSuccess(p);
}
p.setDefinition(new CpsFlowDefinition("echo params.key; sleep 5", true));
p.addProperty(new ParametersDefinitionProperty(new StringParameterDefinition("key", null)));
Expand All @@ -68,18 +67,15 @@ public class FlowExecutionListTest {
assertNotNull(b2);
WorkflowRun b3 = p.getBuildByNumber(3);
assertNotNull(b3);
rr.j.waitForMessage("Sleeping for ", b2);
rr.j.waitForMessage("Sleeping for ", b3);
}
j.waitForMessage("Sleeping for ", b2);
j.waitForMessage("Sleeping for ", b3);
});
rr.addStep(new Statement() {
@Override public void evaluate() throws Throwable {
WorkflowJob p = rr.j.jenkins.getItemByFullName("p", WorkflowJob.class);
sessions.then(j -> {
WorkflowJob p = j.jenkins.getItemByFullName("p", WorkflowJob.class);
WorkflowRun b2 = p.getBuildByNumber(2);
WorkflowRun b3 = p.getBuildByNumber(3);
rr.j.assertBuildStatusSuccess(rr.j.waitForCompletion(b2));
rr.j.assertBuildStatusSuccess(rr.j.waitForCompletion(b3));
}
j.assertBuildStatusSuccess(j.waitForCompletion(b2));
j.assertBuildStatusSuccess(j.waitForCompletion(b3));
});
}

Expand Down