我想嘲笑你
dockerImage.inside()
呼叫
但我有以下错误。我什么都试过了,但没法补充
inside()
:
groovy.lang.MissingMethodException: No signature of method: java.lang.String.inside() is applicable for argument types: (String, com.dsl.shared.CustomService$_createMethod_closure15$_closure27) values: [-u root, com.dsl.shared.CustomService$_createMethod_closure15$_closure27@4248ed58]
Possible solutions: size(), size(), intern(), inspect(), find()
at com.dsl.shared.CustomService$_createMethod_closure15.doCall(CustomService.groovy:677)
BuildContentMock。棒极了
class BuildContextMock {
String commandCalled
class dockerMock {
def image(def imageName){
return imageName
}
}
dockerMock docker = new dockerMock()
def sh(String command) {
commandCalled = command
}
def usernamePassword(Map inputs) {
inputs
}
def string(Map inputs) {
inputs
}
def withCredentials(List args, Closure closure) {
def delegate = [:]
for (arg in args) {
delegate[arg.get('usernameVariable')] = 'the_username'
delegate[arg.get('passwordVariable')] = 'the_password'
delegate[arg.get('variable')] = 'the_apikey'
}
closure.delegate = delegate
closure()
}
}
定制服务测试。棒极了
class CustomServiceTest {
@Test
void testCreateMaintenanceWindow() {
def buildContextMock = new BuildContextMock()
def mockForBuildInfo = new MockFor(BuildInfo)
def mockBuildInfo = mockForBuildInfo.proxyInstance()
AEMBuildHelper aemBuildHelper = new AEMBuildHelper(buildContextMock, "artifactory", mockBuildInfo)
CustomService customService = aemBuildHelper.customService
String id = customService.createMethod()
assert id !== null
}
}
海关服务。棒极了
class CustomService extends BuildHelper {
String createMaintenanceWindow(){
buildContext.withCredentials(
[buildContext.string(credentialsId:
ApiKey, variable:'ApiKey')]){
this.dockerBuildHelper.getDockerImage(
this.dockerBuildHelper.getWdBuildDockerImageName())
.inside('-u root'){
return sh(script: "test", returnStdout: true).trim()
}
}
}
}
建筑助手。棒极了
class BuildHelper extends ContextHolder implements Serializable {
protected def mavenBuildHelper = null
BuildHelper(buildContext, mavenBuildHelper) {
super(buildContext)
this.mavenBuildHelper = mavenBuildHelper
}
BuildHelper(buildContext, credentialId, buildContainerEntryPointCommand) {
super(buildContext)
this.mavenBuildHelper = new MavenBuildHelper(buildContext, credentialId, buildContainerEntryPointCommand)
}
}
DockerBuild助手。棒极了
class DockerBuildHelper extends BuildHelper {
DockerBuildHelper(buildContext, mavenBuildHelper, credentialsID = null) {
super(buildContext, mavenBuildHelper)
this.artifactoryCredentialsId = credentialsID
}
String getWdBuildDockerImageName() {
return wdBuildDockerImageName
}
String getDockerImage(String imageName) {
return buildContext.docker.image(imageName)
}
}