Do not allow for System exit

Change-Id: I268b12dfab2e6021ad057a4dc9716a01efbe375d
This commit is contained in:
Dominik Adam Przybysz 2015-09-19 20:14:09 +02:00
parent f03618873e
commit 5545b67ebd
2 changed files with 31 additions and 1 deletions

View file

@ -18,7 +18,7 @@ class Mock implements Comparable<Mock> {
String responseHeadersClosureText = '{ _ -> [:] }'
Closure predicate = toClosure(predicateClosureText)
Closure response = toClosure(responseClosureText)
Closure responseHeaders =toClosure(responseHeadersClosureText)
Closure responseHeaders = toClosure(responseHeadersClosureText)
boolean soap = false
int statusCode = 200
String method = 'POST'
@ -64,6 +64,9 @@ class Mock implements Comparable<Mock> {
}
private Closure toClosure(String predicate) {
if (predicate ==~ /(?m).*System\s*\.\s*exit\s*\(.*/) {
throw new RuntimeException('System.exit is forbidden')
}
GroovyShell sh = new GroovyShell(this.class.classLoader);
return sh.evaluate(predicate) as Closure
}