github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/test/groovy/util/JenkinsDockerExecuteRule.groovy (about) 1 package util 2 3 import com.lesfurets.jenkins.unit.BasePipelineTest 4 import org.junit.rules.TestRule 5 import org.junit.runner.Description 6 import org.junit.runners.model.Statement 7 8 class JenkinsDockerExecuteRule implements TestRule { 9 10 final BasePipelineTest testInstance 11 12 def dockerParams = [:] 13 14 JenkinsDockerExecuteRule(BasePipelineTest testInstance) { 15 this.testInstance = testInstance 16 } 17 18 @Override 19 Statement apply(Statement base, Description description) { 20 return statement(base) 21 } 22 23 private Statement statement(final Statement base) { 24 return new Statement() { 25 @Override 26 void evaluate() throws Throwable { 27 28 testInstance.helper.registerAllowedMethod("dockerExecute", [Map.class, Closure.class], {map, closure -> 29 dockerParams = map 30 return closure() 31 }) 32 33 base.evaluate() 34 } 35 } 36 } 37 }