create transport request SOLMAN with docker

This commit is contained in:
Marcus Holl
2019-03-19 10:07:18 +01:00
parent 620e0c7d4a
commit 24cd9400d7
5 changed files with 29 additions and 4 deletions
@@ -16,6 +16,12 @@ general:
from: 'origin/master'
to: 'HEAD'
format: '%b'
solman:
docker:
image: 'ppiper/cm-client'
options: []
envVars: {}
pullImage: true
cts:
docker:
image: 'ppiper/cm-client'
+2 -2
View File
@@ -89,10 +89,10 @@ public class ChangeManagement implements Serializable {
}
}
String createTransportRequestSOLMAN(String changeId, String developmentSystemId, String endpoint, String credentialsId, String clientOpts = '') {
String createTransportRequestSOLMAN(Map docker, String changeId, String developmentSystemId, String endpoint, String credentialsId, String clientOpts = '') {
try {
def transportRequest = executeWithCredentials(BackendType.SOLMAN, [:], endpoint, credentialsId, 'create-transport', ['-cID', changeId, '-dID', developmentSystemId],
def transportRequest = executeWithCredentials(BackendType.SOLMAN, docker, endpoint, credentialsId, 'create-transport', ['-cID', changeId, '-dID', developmentSystemId],
true,
clientOpts)
return (transportRequest as String)?.trim()
+11 -1
View File
@@ -94,6 +94,7 @@ public class TransportRequestCreateTest extends BasePiperTest {
ChangeManagement cm = new ChangeManagement(nullScript) {
String createTransportRequestSOLMAN(
Map docker,
String changeId,
String developmentSystemId,
String cmEndpoint,
@@ -119,12 +120,14 @@ public class TransportRequestCreateTest extends BasePiperTest {
ChangeManagement cm = new ChangeManagement(nullScript) {
String createTransportRequestSOLMAN(
Map docker,
String changeId,
String developmentSystemId,
String cmEndpoint,
String credentialId,
String clientOpts) {
result.docker = docker
result.changeId = changeId
result.developmentSystemId = developmentSystemId
result.cmEndpoint = cmEndpoint
@@ -137,7 +140,14 @@ public class TransportRequestCreateTest extends BasePiperTest {
stepRule.step.transportRequestCreate(script: nullScript, changeDocumentId: '001', developmentSystemId: '001', cmUtils: cm)
assert nullScript.commonPipelineEnvironment.getTransportRequestId() == '001'
assert result == [changeId: '001',
assert result == [
docker: [
image: 'ppiper/cm-client',
pullImage: true,
options: [],
envVars: [:],
],
changeId: '001',
developmentSystemId: '001',
cmEndpoint: 'https://example.org/cm',
credentialId: 'CM',
@@ -163,12 +163,20 @@ public void testGetCommandLineWithCMClientOpts() {
public void testCreateTransportRequestSOLMANSucceeds() {
script.setReturnValue(JenkinsShellCallRule.Type.REGEX, ".*cmclient.*create-transport -cID 001 -dID 002.*", '004')
def transportRequestId = new ChangeManagement(nullScript).createTransportRequestSOLMAN( '001', '002', '003', 'me')
def transportRequestId = new ChangeManagement(nullScript).createTransportRequestSOLMAN(
[
image: 'ppiper/cm-client',
pullImage: true,
],
'001', '002', '003', 'me')
// the check for the transportRequestID is sufficient. This checks implicit the command line since that value is
// returned only in case the shell call matches.
assert transportRequestId == '004'
assert dockerExecuteRule.getDockerParams().dockerImage == 'ppiper/cm-client'
assert dockerExecuteRule.getDockerParams().dockerPullImage == true
}
@Test
+1
View File
@@ -97,6 +97,7 @@ void call(parameters = [:]) {
try {
if(backendType == BackendType.SOLMAN) {
transportRequestId = cm.createTransportRequestSOLMAN(
configuration.changeManagement.solman.docker,
configuration.changeDocumentId,
configuration.developmentSystemId,
configuration.changeManagement.endpoint,