1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/test/groovy/MavenExecuteTest.groovy

72 lines
2.3 KiB
Groovy
Raw Normal View History

import org.junit.Before
import org.junit.Rule
import org.junit.Test
2018-01-16 16:03:00 +02:00
import org.junit.rules.RuleChain
import com.lesfurets.jenkins.unit.BasePipelineTest
import static org.junit.Assert.assertEquals
import static org.junit.Assert.assertTrue
2018-01-16 16:42:11 +02:00
import util.JenkinsConfigRule
import util.JenkinsSetupRule
2018-01-16 16:03:00 +02:00
import util.JenkinsShellCallRule
class MavenExecuteTest extends BasePipelineTest {
Map dockerParameters
2018-01-16 16:03:00 +02:00
private JenkinsShellCallRule jscr = new JenkinsShellCallRule(this)
@Rule
2018-01-16 16:03:00 +02:00
public RuleChain ruleChain = RuleChain.outerRule(new JenkinsSetupRule(this))
.around(jscr)
2018-01-16 16:42:11 +02:00
.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)
2018-01-16 16:03:00 +02:00
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"
2018-01-16 16:03:00 +02:00
assertTrue(jscr.shell.contains(mvnCommand))
}
}