mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
added JenkinsShellCallRule class
This commit is contained in:
parent
492d4a1f68
commit
1089e192f3
38
test/groovy/util/JenkinsShellCallRule.groovy
Normal file
38
test/groovy/util/JenkinsShellCallRule.groovy
Normal file
@ -0,0 +1,38 @@
|
||||
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 JenkinsShellCallRule implements TestRule {
|
||||
|
||||
final BasePipelineTest testInstance
|
||||
|
||||
String shell = ""
|
||||
|
||||
JenkinsShellCallRule(BasePipelineTest testInstance) {
|
||||
this.testInstance = testInstance
|
||||
}
|
||||
|
||||
@Override
|
||||
Statement apply(Statement base, Description description) {
|
||||
return statement(base)
|
||||
}
|
||||
|
||||
private Statement statement(final Statement base) {
|
||||
return new Statement() {
|
||||
@Override
|
||||
void evaluate() throws Throwable {
|
||||
|
||||
testInstance.helper.registerAllowedMethod("sh", [String.class], {
|
||||
command ->
|
||||
command = command.replaceAll(/\s+/," ").trim()
|
||||
shell += "$command \n"
|
||||
})
|
||||
|
||||
base.evaluate()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user