mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
74af6bab5f
Extensions can be provided via --extension --e to the neo deploy command line for deploy-mta. This commits adds support for providing extension files.
131 lines
5.4 KiB
Groovy
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)
|
|
}
|
|
}
|