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