#28 Return GroovyScriptExecutionFailed error
This commit is contained in:
		
							parent
							
								
									1930c04b72
								
							
						
					
					
						commit
						4e302c66a1
					
				|  | @ -10,6 +10,13 @@ import ( | ||||||
| 	"github.com/pkg/errors" | 	"github.com/pkg/errors" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | // GroovyScriptExecutionFailed is custom error type which indicates passed groovy script is invalid
 | ||||||
|  | type GroovyScriptExecutionFailed struct{} | ||||||
|  | 
 | ||||||
|  | func (e GroovyScriptExecutionFailed) Error() string { | ||||||
|  | 	return "script execution failed" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (jenkins *jenkins) ExecuteScript(script string) (string, error) { | func (jenkins *jenkins) ExecuteScript(script string) (string, error) { | ||||||
| 	now := time.Now().Unix() | 	now := time.Now().Unix() | ||||||
| 	verifier := fmt.Sprintf("verifier-%d", now) | 	verifier := fmt.Sprintf("verifier-%d", now) | ||||||
|  | @ -38,7 +45,7 @@ func (jenkins *jenkins) executeScript(script string, verifier string) (string, e | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if !strings.Contains(output, verifier) { | 	if !strings.Contains(output, verifier) { | ||||||
| 		return output, errors.Errorf("script execution failed, logs '%s'", output) | 		return output, &GroovyScriptExecutionFailed{} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return output, nil | 	return output, nil | ||||||
|  |  | ||||||
|  | @ -62,7 +62,7 @@ func Test_ExecuteScript(t *testing.T) { | ||||||
| 
 | 
 | ||||||
| 		script := "some groovy code" | 		script := "some groovy code" | ||||||
| 		logs, err := jenkinsClient.executeScript(script, verifier) | 		logs, err := jenkinsClient.executeScript(script, verifier) | ||||||
| 		assert.EqualError(t, err, "script execution failed, logs 'some exception stack trace without verifier'", logs) | 		assert.EqualError(t, err, "script execution failed", logs) | ||||||
| 		assert.Equal(t, response, logs) | 		assert.Equal(t, response, logs) | ||||||
| 	}) | 	}) | ||||||
| 	t.Run("throw 500", func(t *testing.T) { | 	t.Run("throw 500", func(t *testing.T) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue