Skip to content

Commit bd25346

Browse files
committed
Fix test and use a stub rather than a real Workflow instance.
1 parent e2a99a0 commit bd25346

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

src/test/java/io/jenkins/plugins/forensics/util/ScmResolverTest.java

+10-17
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package io.jenkins.plugins.forensics.util;
22

33
import java.io.IOException;
4-
import java.nio.file.Files;
54
import java.util.ArrayList;
65
import java.util.Arrays;
76
import java.util.Collections;
87

98
import org.assertj.core.api.ObjectAssert;
10-
import org.junit.jupiter.api.Disabled;
119
import org.junit.jupiter.api.Test;
1210

1311
import org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition;
@@ -16,7 +14,6 @@
1614
import hudson.EnvVars;
1715
import hudson.model.AbstractBuild;
1816
import hudson.model.AbstractProject;
19-
import hudson.model.ItemGroup;
2017
import hudson.model.Job;
2118
import hudson.model.Run;
2219
import hudson.model.TaskListener;
@@ -118,14 +115,18 @@ private SCM createScm(final String key) {
118115
return first;
119116
}
120117

121-
@Disabled("TODO rewrite to use JenkinsRule, not Mockito")
122118
@Test
123-
void shouldResolveScmForPipelineWithFlowNode() throws IOException {
124-
WorkflowJob pipeline = createPipeline();
125-
pipeline.setDefinition(createCpsFlowDefinition());
119+
void shouldResolveScmForPipelineWithFlowNode() {
120+
var pipeline = mock(WorkflowJob.class);
126121

127-
Run<?, ?> run = createRunFor(pipeline);
128-
assertThatScmOf(run).isInstanceOf(SCM.class);
122+
var empty = createRunFor(pipeline);
123+
assertThatScmOf(empty).isInstanceOf(NullSCM.class);
124+
125+
var flowDefinition = createCpsFlowDefinition();
126+
when(pipeline.getDefinition()).thenReturn(flowDefinition);
127+
128+
var withScmFromFlowDefinition = createRunFor(pipeline);
129+
assertThatScmOf(withScmFromFlowDefinition).isInstanceOf(SCM.class);
129130
}
130131

131132
private CpsScmFlowDefinition createCpsFlowDefinition() {
@@ -135,14 +136,6 @@ private CpsScmFlowDefinition createCpsFlowDefinition() {
135136
return flowDefinition;
136137
}
137138

138-
private WorkflowJob createPipeline() throws IOException {
139-
ItemGroup<?> group = mock(ItemGroup.class);
140-
WorkflowJob pipeline = new WorkflowJob(group, "stub");
141-
when(group.getRootDirFor(any())).thenReturn(Files.createTempFile("", "").toFile());
142-
when(group.getFullName()).thenReturn("bla");
143-
return pipeline;
144-
}
145-
146139
@Test
147140
void shouldCreateNullBlamerForPipelineWithNoScm() {
148141
Job<?, ?> pipeline = mock(Job.class, withSettings().extraInterfaces(SCMTriggerItem.class));

0 commit comments

Comments
 (0)