Skip to content

Commit

Permalink
[JENKINS-17680] Added a test for verifying upgrading on building works.
Browse files Browse the repository at this point in the history
  • Loading branch information
ikedam committed Aug 3, 2013
1 parent b42c215 commit 3c6babe
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions src/test/java/hudson/plugins/copyartifact/CopyArtifactTest.java
Expand Up @@ -33,6 +33,7 @@
import hudson.matrix.MatrixRun;
import hudson.maven.MavenModuleSet;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.BooleanParameterDefinition;
import hudson.model.BooleanParameterValue;
import hudson.model.Action;
Expand All @@ -55,6 +56,7 @@
import hudson.slaves.DumbSlave;
import hudson.slaves.SlaveComputer;
import hudson.tasks.ArtifactArchiver;
import hudson.tasks.BuildStepDescriptor;
import hudson.tasks.BuildTrigger;
import hudson.tasks.Builder;
import hudson.util.FormValidation;
Expand All @@ -69,6 +71,7 @@
import org.jvnet.hudson.test.Bug;
import org.jvnet.hudson.test.ExtractResourceSCM;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.TestExtension;
import org.jvnet.hudson.test.CaptureEnvironmentBuilder;
import org.jvnet.hudson.test.FailureBuilder;
import org.jvnet.hudson.test.UnstableBuilder;
Expand Down Expand Up @@ -930,6 +933,47 @@ public void testProjectNameSplit() throws Exception {
assertTrue(configXml, configXml.contains("<parameters>which=${which}</parameters>"));
}

// A builder wrapping another builder.
public static class WrapBuilder extends Builder {
private Builder wrappedBuilder;

@Override
public boolean perform(AbstractBuild<?, ?> build, Launcher launcher,
BuildListener listener) throws InterruptedException, IOException {
return wrappedBuilder.perform(build, launcher, listener);
}

public static final class DescriptorImpl extends BuildStepDescriptor<Builder> {
@Override
public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return true;
}

@Override
public String getDisplayName() {
return "WrapBuilder";
}
}
}

@LocalData
public void testWrappedCopierProjectNameSplit() throws Exception {
// Project "copier" is configured with CopyArtifact wrapped with WrapBuilder.
// This causes failure of upgrading on loaded.
// Upgrading is performed when build is triggered.
FreeStyleProject copier = Jenkins.getInstance().getItemByFullName("copier", FreeStyleProject.class);
assertNotNull(copier);
String configXml = copier.getConfigFile().asString();
// not upgraded on loaded
assertTrue(configXml, configXml.contains("<projectName>plain</projectName>"));

// upgraded when a build is triggered.
assertBuildStatusSuccess(copier.scheduleBuild2(0));
configXml = copier.getConfigFile().asString();
assertFalse(configXml, configXml.contains("<projectName>"));
assertTrue(configXml, configXml.contains("<project>plain</project>"));
}

@Bug(17447)
@LocalData
public void testRenameBeforeProjectNameSplit() throws Exception {
Expand Down
Binary file not shown.

0 comments on commit 3c6babe

Please sign in to comment.