2018-02-28 12:54:52 +02:00
|
|
|
package util
|
|
|
|
|
|
|
|
import com.lesfurets.jenkins.unit.BasePipelineTest
|
|
|
|
|
|
|
|
import org.junit.rules.TestRule
|
|
|
|
import org.junit.runner.Description
|
|
|
|
import org.junit.runners.model.Statement
|
|
|
|
|
|
|
|
class JenkinsEnvironmentRule implements TestRule {
|
|
|
|
final BasePipelineTest testInstance
|
|
|
|
|
|
|
|
def env
|
|
|
|
|
|
|
|
JenkinsEnvironmentRule(BasePipelineTest testInstance) {
|
|
|
|
this.testInstance = testInstance
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
Statement apply(Statement base, Description description) {
|
|
|
|
return new Statement() {
|
|
|
|
@Override
|
|
|
|
void evaluate() throws Throwable {
|
|
|
|
env = testInstance.loadScript('commonPipelineEnvironment.groovy').commonPipelineEnvironment
|
2018-05-30 12:00:13 +02:00
|
|
|
try {
|
|
|
|
testInstance?.nullScript.commonPipelineEnvironment = env
|
|
|
|
} catch (MissingPropertyException e) {
|
|
|
|
//kept for backward compatibility before all tests inherit from BasePiperTest
|
|
|
|
}
|
2018-02-28 12:54:52 +02:00
|
|
|
base.evaluate()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|