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/com/sap/piper/tools/neo/NeoCommandHelperTest.groovy
Marcus Holl 74af6bab5f Add extensions to neoDeploy
Extensions can be provided via --extension --e to the neo deploy command
line for deploy-mta. This commits adds support for providing extension files.
2019-05-16 09:13:23 +02:00

131 lines
5.4 KiB
Groovy

package com.sap.piper.tools.neo
import org.junit.Assert
import org.junit.Rule
import org.junit.Test
import org.junit.rules.RuleChain
import util.BasePiperTest
import util.JenkinsFileExistsRule
import util.Rules
class NeoCommandHelperTest extends BasePiperTest {
private JenkinsFileExistsRule fileExistsRule = new JenkinsFileExistsRule(this, ['file.mta', 'file.war', 'file.properties'])
@Rule
public RuleChain rules = Rules
.getCommonRules(this)
.around(fileExistsRule)
NeoCommandHelper getTestFixture(DeployMode deployMode, Set extensions = []) {
Map deploymentConfiguration = [
host : 'host_value',
account : 'account_value',
application : 'application_value',
environment : [ENV1: 'value1', ENV2: 'value2'],
vmArguments : '-Dargument1=value1 -Dargument2=value2',
runtime : 'neо-javaee6-wp',
runtimeVersion: '2',
size : 'lite',
propertiesFile: 'file.properties'
]
String source = (deployMode == DeployMode.MTA) ? 'file.mta' : 'file.war'
String username = 'username'
String password = 'password'
nullScript.STEP_NAME="neoDeploy"
return new NeoCommandHelper(
nullScript,
deployMode,
deploymentConfiguration,
extensions,
username,
password,
source
)
}
@Test
void testStatusCommand() {
String actual = getTestFixture(DeployMode.WAR_PARAMS).statusCommand()
String expected = "neo.sh status --host 'host_value' --account 'account_value' " +
"--application 'application_value' --user 'username' --password 'password'"
Assert.assertEquals(expected, actual)
}
@Test
void testStatusCommandForProperties() {
String actual = getTestFixture(DeployMode.WAR_PROPERTIES_FILE).statusCommand()
String expected = "neo.sh status file.properties --user 'username' --password 'password'"
Assert.assertEquals(expected, actual)
}
@Test
void testRollingUpdateCommand() {
String actual = getTestFixture(DeployMode.WAR_PARAMS).rollingUpdateCommand()
String basicCommand = "neo.sh rolling-update --host 'host_value' --account 'account_value' " +
"--application 'application_value' --user 'username' --password 'password' --source 'file.war'"
Assert.assertTrue(actual.contains(basicCommand))
Assert.assertTrue(actual.contains(' --ev \'ENV1\'=\'value1\' --ev \'ENV2\'=\'value2\''))
Assert.assertTrue(actual.contains(' --vm-arguments \'-Dargument1=value1 -Dargument2=value2\''))
Assert.assertTrue(actual.contains('--runtime \'neо-javaee6-wp\''))
Assert.assertTrue(actual.contains(' --runtime-version \'2\''))
Assert.assertTrue(actual.contains(' --size \'lite\''))
}
@Test
void testRollingUpdateCommandForProperties() {
String actual = getTestFixture(DeployMode.WAR_PROPERTIES_FILE).rollingUpdateCommand()
String expected = "neo.sh rolling-update file.properties --user 'username' --password 'password' --source 'file.war' "
Assert.assertEquals(expected, actual)
}
@Test
void testDeployCommand() {
String actual = getTestFixture(DeployMode.WAR_PARAMS).deployCommand()
String basicCommand = "neo.sh deploy --host 'host_value' --account 'account_value' " +
"--application 'application_value' --user 'username' --password 'password' --source 'file.war'"
Assert.assertTrue(actual.contains(basicCommand))
Assert.assertTrue(actual.contains(' --ev \'ENV1\'=\'value1\' --ev \'ENV2\'=\'value2\''))
Assert.assertTrue(actual.contains(' --vm-arguments \'-Dargument1=value1 -Dargument2=value2\''))
Assert.assertTrue(actual.contains(' --runtime \'neо-javaee6-wp\''))
Assert.assertTrue(actual.contains(' --runtime-version \'2\''))
Assert.assertTrue(actual.contains(' --size \'lite\''))
}
@Test
void testDeployCommandForProperties() {
String actual = getTestFixture(DeployMode.WAR_PROPERTIES_FILE).deployCommand()
String expected = "neo.sh deploy file.properties --user 'username' --password 'password' --source 'file.war' "
Assert.assertEquals(expected, actual)
}
@Test
void testRestartCommand() {
String actual = getTestFixture(DeployMode.WAR_PARAMS).restartCommand()
String expected = "neo.sh restart --synchronous --host 'host_value' --account 'account_value' " +
"--application 'application_value' --user 'username' --password 'password'"
Assert.assertEquals(expected, actual)
}
@Test
void testRestartCommandForProperties() {
String actual = getTestFixture(DeployMode.WAR_PROPERTIES_FILE).restartCommand()
String expected = "neo.sh restart --synchronous file.properties --user 'username' --password 'password'"
Assert.assertEquals(expected, actual)
}
@Test
void deployMta() {
String actual = getTestFixture(DeployMode.MTA, (Set)['myExtension1.yml', 'myExtension2.yml']).deployMta()
String expected = "neo.sh deploy-mta --synchronous --host 'host_value' --account 'account_value' " +
"--user 'username' --password 'password' --extensions 'myExtension1.yml','myExtension2.yml' --source 'file.mta'"
Assert.assertEquals(expected, actual)
}
}