mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
72 lines
2.3 KiB
Groovy
72 lines
2.3 KiB
Groovy
|
|
import org.junit.Before
|
|
import org.junit.Rule
|
|
import org.junit.Test
|
|
import org.junit.rules.RuleChain
|
|
|
|
import com.lesfurets.jenkins.unit.BasePipelineTest
|
|
|
|
import static org.junit.Assert.assertEquals
|
|
import static org.junit.Assert.assertTrue
|
|
|
|
import util.JenkinsConfigRule
|
|
import util.JenkinsSetupRule
|
|
import util.JenkinsShellCallRule
|
|
|
|
class MavenExecuteTest extends BasePipelineTest {
|
|
|
|
Map dockerParameters
|
|
|
|
private JenkinsShellCallRule jscr = new JenkinsShellCallRule(this)
|
|
|
|
@Rule
|
|
public RuleChain ruleChain = RuleChain.outerRule(new JenkinsSetupRule(this))
|
|
.around(jscr)
|
|
.around(new JenkinsConfigRule(this))
|
|
|
|
def mavenExecuteScript
|
|
def cpe
|
|
|
|
@Before
|
|
void init() {
|
|
|
|
dockerParameters = [:]
|
|
|
|
helper.registerAllowedMethod("dockerExecute", [Map.class, Closure.class],
|
|
{ parameters, closure ->
|
|
dockerParameters = parameters
|
|
closure()
|
|
})
|
|
|
|
mavenExecuteScript = loadScript("mavenExecute.groovy").mavenExecute
|
|
cpe = loadScript('commonPipelineEnvironment.groovy').commonPipelineEnvironment
|
|
}
|
|
|
|
@Test
|
|
void testExecuteBasicMavenCommand() throws Exception {
|
|
|
|
mavenExecuteScript.call(script: [commonPipelineEnvironment: cpe], goals: 'clean install')
|
|
assertEquals('maven:3.5-jdk-7', dockerParameters.dockerImage)
|
|
|
|
assert jscr.shell[0] == 'mvn clean install'
|
|
}
|
|
|
|
@Test
|
|
void testExecuteMavenCommandWithParameter() throws Exception {
|
|
|
|
mavenExecuteScript.call(
|
|
script: [commonPipelineEnvironment: cpe],
|
|
dockerImage: 'maven:3.5-jdk-8-alpine',
|
|
goals: 'clean install',
|
|
globalSettingsFile: 'globalSettingsFile.xml',
|
|
projectSettingsFile: 'projectSettingsFile.xml',
|
|
pomPath: 'pom.xml',
|
|
flags: '-o',
|
|
m2Path: 'm2Path',
|
|
defines: '-Dmaven.tests.skip=true')
|
|
assertEquals('maven:3.5-jdk-8-alpine', dockerParameters.dockerImage)
|
|
String mvnCommand = "mvn --global-settings 'globalSettingsFile.xml' -Dmaven.repo.local='m2Path' --settings 'projectSettingsFile.xml' --file 'pom.xml' -o clean install -Dmaven.tests.skip=true"
|
|
assertTrue(jscr.shell.contains(mvnCommand))
|
|
}
|
|
}
|