2018-01-16 10:33:13 +02:00
|
|
|
import org.junit.Rule
|
2017-12-06 13:03:06 +02:00
|
|
|
import org.junit.Test
|
2018-01-16 16:03:00 +02:00
|
|
|
import org.junit.rules.RuleChain
|
2018-06-06 14:42:47 +02:00
|
|
|
import util.BasePiperTest
|
2018-06-06 11:19:19 +02:00
|
|
|
import util.JenkinsDockerExecuteRule
|
2018-06-06 14:42:47 +02:00
|
|
|
import util.JenkinsShellCallRule
|
2018-06-06 11:19:19 +02:00
|
|
|
import util.JenkinsStepRule
|
2018-06-06 14:42:47 +02:00
|
|
|
import util.Rules
|
2018-01-16 18:06:25 +02:00
|
|
|
|
2017-12-06 13:03:06 +02:00
|
|
|
import static org.junit.Assert.assertEquals
|
|
|
|
import static org.junit.Assert.assertTrue
|
|
|
|
|
2018-05-30 12:39:01 +02:00
|
|
|
class MavenExecuteTest extends BasePiperTest {
|
2017-12-06 13:03:06 +02:00
|
|
|
|
|
|
|
Map dockerParameters
|
2018-01-16 16:03:00 +02:00
|
|
|
|
|
|
|
private JenkinsShellCallRule jscr = new JenkinsShellCallRule(this)
|
2018-06-06 11:19:19 +02:00
|
|
|
private JenkinsDockerExecuteRule jder = new JenkinsDockerExecuteRule(this)
|
|
|
|
private JenkinsStepRule jsr = new JenkinsStepRule(this)
|
2017-12-06 13:03:06 +02:00
|
|
|
|
2018-01-16 10:33:13 +02:00
|
|
|
@Rule
|
2018-06-06 11:19:19 +02:00
|
|
|
public RuleChain ruleChain = Rules
|
|
|
|
.getCommonRules(this)
|
|
|
|
.around(jder)
|
|
|
|
.around(jscr)
|
|
|
|
.around(jsr)
|
2017-12-06 13:03:06 +02:00
|
|
|
|
|
|
|
@Test
|
|
|
|
void testExecuteBasicMavenCommand() throws Exception {
|
2018-01-16 18:06:25 +02:00
|
|
|
|
2018-06-06 11:19:19 +02:00
|
|
|
jsr.step.mavenExecute(script: nullScript, goals: 'clean install')
|
|
|
|
assertEquals('maven:3.5-jdk-7', jder.dockerParams.dockerImage)
|
2018-01-16 16:03:00 +02:00
|
|
|
|
2018-06-06 14:42:47 +02:00
|
|
|
assert jscr.shell[0] == 'mvn --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn clean install'
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void testExecuteBasicMavenCommandWithDownloadLogsEnabled() throws Exception {
|
|
|
|
|
|
|
|
jsr.step.mavenExecute(script: nullScript, goals: 'clean install', logSuccessfulMavenTransfers: true)
|
|
|
|
assertEquals('maven:3.5-jdk-7', jder.dockerParams.dockerImage)
|
|
|
|
|
|
|
|
assert jscr.shell[0] == 'mvn --batch-mode clean install'
|
2017-12-06 13:03:06 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void testExecuteMavenCommandWithParameter() throws Exception {
|
2018-01-16 18:06:25 +02:00
|
|
|
|
2018-06-06 11:19:19 +02:00
|
|
|
jsr.step.mavenExecute(
|
2018-05-30 12:39:01 +02:00
|
|
|
script: nullScript,
|
2018-01-16 18:06:25 +02:00
|
|
|
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')
|
2018-06-06 11:19:19 +02:00
|
|
|
assertEquals('maven:3.5-jdk-8-alpine', jder.dockerParams.dockerImage)
|
2018-06-06 14:42:47 +02:00
|
|
|
String mvnCommand = "mvn --global-settings 'globalSettingsFile.xml' -Dmaven.repo.local='m2Path' --settings 'projectSettingsFile.xml' --file 'pom.xml' -o --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn clean install -Dmaven.tests.skip=true"
|
2018-01-16 16:03:00 +02:00
|
|
|
assertTrue(jscr.shell.contains(mvnCommand))
|
2017-12-06 13:03:06 +02:00
|
|
|
}
|
2018-03-29 14:13:11 +02:00
|
|
|
|
|
|
|
@Test
|
|
|
|
void testMavenCommandForwardsDockerOptions() throws Exception {
|
|
|
|
|
2018-06-06 11:19:19 +02:00
|
|
|
jsr.step.mavenExecute(script: nullScript, goals: 'clean install')
|
|
|
|
assertEquals('maven:3.5-jdk-7', jder.dockerParams.dockerImage)
|
2018-03-29 14:13:11 +02:00
|
|
|
|
2018-06-06 14:42:47 +02:00
|
|
|
assert jscr.shell[0] == 'mvn --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn clean install'
|
2018-03-29 14:13:11 +02:00
|
|
|
}
|
2017-12-06 13:03:06 +02:00
|
|
|
}
|