Skip to content

Commit 93f4a31

Browse files
committed
add tests for failIfAlreadyExists flag in JiraVersionCreatorBuilder
1 parent cb32f70 commit 93f4a31

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

src/test/java/hudson/plugins/jira/JiraVersionCreatorBuilderTest.java

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
package hudson.plugins.jira;
22

3+
import static org.hamcrest.MatcherAssert.assertThat;
4+
import static org.hamcrest.Matchers.is;
5+
import static org.junit.jupiter.api.Assertions.assertFalse;
6+
import static org.junit.jupiter.api.Assertions.assertTrue;
37
import static org.mockito.ArgumentMatchers.any;
4-
import static org.mockito.Mockito.*;
8+
import static org.mockito.Mockito.doReturn;
9+
import static org.mockito.Mockito.mock;
510

611
import hudson.model.Result;
12+
import hudson.util.XStream2;
713
import java.util.Collections;
814
import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
915
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
1016
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
1117
import org.junit.jupiter.api.BeforeEach;
1218
import org.junit.jupiter.api.Test;
1319
import org.jvnet.hudson.test.JenkinsRule;
20+
import org.jvnet.hudson.test.WithoutJenkins;
1421
import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
1522

1623
class JiraVersionCreatorBuilderTest {
@@ -19,6 +26,8 @@ class JiraVersionCreatorBuilderTest {
1926

2027
private JiraSession session;
2128

29+
private final XStream2 xStream2 = new XStream2();
30+
2231
@BeforeEach
2332
void createMocks() {
2433
site = mock(JiraSite.class);
@@ -38,4 +47,56 @@ void testPipelineWithJiraSite(JenkinsRule r) throws Exception {
3847
WorkflowRun b = r.buildAndAssertStatus(Result.SUCCESS, job);
3948
r.assertLogContains("[Jira] Creating version Version in project project-key.", b);
4049
}
50+
51+
@Test
52+
@WithoutJenkins
53+
void readResolveSetsFailIfAlreadyExistsWhenMissingInConfig() {
54+
String xml = """
55+
<hudson.plugins.jira.JiraVersionCreatorBuilder>
56+
<jiraVersion>1.0</jiraVersion>
57+
<jiraProjectKey>PROJ</jiraProjectKey>
58+
</hudson.plugins.jira.JiraVersionCreatorBuilder>
59+
""";
60+
JiraVersionCreatorBuilder builder = (JiraVersionCreatorBuilder) xStream2.fromXML(xml);
61+
62+
assertTrue(builder.isFailIfAlreadyExists());
63+
64+
xml = """
65+
<hudson.plugins.jira.JiraVersionCreator>
66+
<jiraVersion>1.2</jiraVersion>
67+
<jiraProjectKey>PROJ</jiraProjectKey>
68+
</hudson.plugins.jira.JiraVersionCreator>
69+
""";
70+
JiraVersionCreator notifier = (JiraVersionCreator) xStream2.fromXML(xml);
71+
72+
assertThat(notifier.getJiraProjectKey(), is("PROJ"));
73+
assertThat(notifier.getJiraVersion(), is("1.2"));
74+
assertTrue(notifier.isFailIfAlreadyExists());
75+
}
76+
77+
@Test
78+
@WithoutJenkins
79+
void readResolvePresentInConfig() {
80+
String xml = """
81+
<hudson.plugins.jira.JiraVersionCreatorBuilder>
82+
<jiraVersion>1.0</jiraVersion>
83+
<jiraProjectKey>PROJ</jiraProjectKey>
84+
<failIfAlreadyExists>false</failIfAlreadyExists>
85+
</hudson.plugins.jira.JiraVersionCreatorBuilder>
86+
""";
87+
JiraVersionCreatorBuilder builder = (JiraVersionCreatorBuilder) xStream2.fromXML(xml);
88+
89+
assertFalse(builder.isFailIfAlreadyExists());
90+
91+
xml = """
92+
<hudson.plugins.jira.JiraVersionCreator>
93+
<jiraVersion>1.0</jiraVersion>
94+
<jiraProjectKey>PROJ</jiraProjectKey>
95+
<failIfAlreadyExists>false</failIfAlreadyExists>
96+
</hudson.plugins.jira.JiraVersionCreator>
97+
""";
98+
JiraVersionCreator notifier = (JiraVersionCreator) xStream2.fromXML(xml);
99+
100+
assertFalse(notifier.isFailIfAlreadyExists());
101+
}
41102
}

0 commit comments

Comments
 (0)