Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[FIXED JENKINS-17341] NPE after JENKINS-3265 fix.
  • Loading branch information
jglick committed Mar 30, 2013
1 parent 8f07c80 commit 145a389
Show file tree
Hide file tree
Showing 7 changed files with 158 additions and 0 deletions.
Expand Up @@ -217,6 +217,9 @@ public AbstractProject<?,?> getOwner() {
* Finds a config by name.
*/
public PromotionProcess getItem(String name) {
if (processes == null) {
return null;
}
for (PromotionProcess c : processes) {
if(c.getName().equals(name))
return c;
Expand Down
Expand Up @@ -26,7 +26,9 @@
import hudson.model.FreeStyleProject;
import hudson.plugins.promoted_builds.conditions.DownstreamPassCondition;
import hudson.tasks.JavadocArchiver;
import org.jvnet.hudson.test.Bug;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.recipes.LocalData;

/**
* @author Kohsuke Kawaguchi
Expand Down Expand Up @@ -64,4 +66,14 @@ public void testRoundtrip() throws Exception {
assertTrue(ja.isKeepAll());
assertEquals("star-blue", proc.icon);
}

@LocalData
@Bug(17341)
public void testLoad() throws Exception {
FreeStyleProject j = jenkins.getItemByFullName("j", FreeStyleProject.class);
assertNotNull(j);
Promotion p = j.getProperty(JobPropertyImpl.class).getItem("OK").getBuildByNumber(1);
assertNotNull(p);
}

}
@@ -0,0 +1 @@
<hudson/>
@@ -0,0 +1,51 @@
<?xml version='1.0' encoding='UTF-8'?>
<build>
<actions>
<hudson.model.CauseAction>
<causes>
<hudson.model.Cause_-UserIdCause/>
</causes>
</hudson.model.CauseAction>
<hudson.plugins.promoted__builds.PromotedBuildAction>
<owner class="build" reference="../../.."/>
<statuses>
<hudson.plugins.promoted__builds.Status>
<name>OK</name>
<badges>
<hudson.plugins.promoted__builds.conditions.ManualCondition_-Badge>
<authenticationName>anonymous</authenticationName>
<values>
<hudson.model.StringParameterValue>
<name>extension</name>
<description>File ext for artifact.</description>
<value>stuff</value>
</hudson.model.StringParameterValue>
</values>
</hudson.plugins.promoted__builds.conditions.ManualCondition_-Badge>
</badges>
<timestamp>
<time>1349706611025</time>
<timezone>America/New_York</timezone>
</timestamp>
<promotion>1</promotion>
<promotionAttempts>
<int>1</int>
</promotionAttempts>
</hudson.plugins.promoted__builds.Status>
</statuses>
</hudson.plugins.promoted__builds.PromotedBuildAction>
<hudson.plugins.promoted__builds.conditions.ManualCondition_-ManualApproval>
<name>OK</name>
<badge reference="../../hudson.plugins.promoted__builds.PromotedBuildAction/statuses/hudson.plugins.promoted__builds.Status/badges/hudson.plugins.promoted__builds.conditions.ManualCondition_-Badge"/>
</hudson.plugins.promoted__builds.conditions.ManualCondition_-ManualApproval>
</actions>
<number>2</number>
<result>SUCCESS</result>
<duration>39</duration>
<charset>UTF-8</charset>
<keepLog>true</keepLog>
<builtOn></builtOn>
<hudsonVersion>1.448</hudsonVersion>
<scm class="hudson.scm.NullChangeLogParser"/>
<culprits/>
</build>
@@ -0,0 +1,38 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<logRotator>
<daysToKeep>-1</daysToKeep>
<numToKeep>1</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.plugins.promoted__builds.JobPropertyImpl>
<activeProcessNames>
<string>OK</string>
</activeProcessNames>
</hudson.plugins.promoted__builds.JobPropertyImpl>
</properties>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers class="vector"/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>echo $BUILD_NUMBER &gt; build.txt</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.ArtifactArchiver>
<artifacts>build.txt</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>
</publishers>
<buildWrappers/>
</project>
@@ -0,0 +1,18 @@
<?xml version='1.0' encoding='UTF-8'?>
<hudson.plugins.promoted__builds.Promotion>
<actions>
<hudson.plugins.promoted__builds.PromotionTargetAction>
<jobName>j</jobName>
<number>2</number>
</hudson.plugins.promoted__builds.PromotionTargetAction>
</actions>
<number>1</number>
<result>SUCCESS</result>
<duration>109</duration>
<charset>UTF-8</charset>
<keepLog>false</keepLog>
<builtOn></builtOn>
<hudsonVersion>1.448</hudsonVersion>
<scm class="hudson.scm.NullChangeLogParser"/>
<culprits/>
</hudson.plugins.promoted__builds.Promotion>
@@ -0,0 +1,35 @@
<?xml version='1.0' encoding='UTF-8'?>
<hudson.plugins.promoted__builds.PromotionProcess>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers class="vector"/>
<concurrentBuild>false</concurrentBuild>
<conditions>
<hudson.plugins.promoted__builds.conditions.ManualCondition>
<users></users>
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
<name>extension</name>
<description>File ext for artifact.</description>
<defaultValue>txt</defaultValue>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.plugins.promoted__builds.conditions.ManualCondition>
</conditions>
<icon>star-gold</icon>
<buildSteps>
<hudson.plugins.promoted__builds.KeepBuildForeverAction/>
<hudson.tasks.Shell>
<command>cp build.txt promoted.$extension</command>
</hudson.tasks.Shell>
<hudson.tasks.ArtifactArchiver>
<artifacts>promoted.*</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>
</buildSteps>
</hudson.plugins.promoted__builds.PromotionProcess>

0 comments on commit 145a389

Please sign in to comment.