github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/test/groovy/util/JenkinsScriptLoaderRule.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 JenkinsScriptLoaderRule implements TestRule { 9 10 final BasePipelineTest testInstance 11 12 final String scriptBasePath 13 14 JenkinsScriptLoaderRule(BasePipelineTest testInstance, String scriptBasePath) { 15 this.testInstance = testInstance 16 this.scriptBasePath = scriptBasePath 17 } 18 19 @Override 20 Statement apply(Statement base, Description description) { 21 return statement(base) 22 } 23 24 private Statement statement(final Statement base) { 25 return new Statement() { 26 @Override 27 void evaluate() throws Throwable { 28 29 testInstance.helper.registerAllowedMethod("load", [String.class], { 30 fileNameIntegration -> 31 return testInstance.loadScript("$scriptBasePath/$fileNameIntegration") 32 }) 33 34 base.evaluate() 35 } 36 } 37 } 38 }