Fix new release creation API to allow empty target (#5870)

* Fix new release creation API to allow empty target

* Add more test cases

* Update swagger
This commit is contained in:
Lauris BH 2019-01-30 18:33:00 +02:00 committed by techknowlogick
parent 8b5f6ced22
commit fada6968a8
11 changed files with 168 additions and 348 deletions

View file

@ -70,6 +70,8 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re
return nil, errors.New("403 Forbidden")
case 404:
return nil, errors.New("404 Not Found")
case 409:
return nil, errors.New("409 Conflict")
case 422:
return nil, fmt.Errorf("422 Unprocessable Entity: %s", string(data))
}
@ -77,7 +79,9 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re
if resp.StatusCode/100 != 2 {
errMap := make(map[string]interface{})
if err = json.Unmarshal(data, &errMap); err != nil {
return nil, err
// when the JSON can't be parsed, data was probably empty or a plain string,
// so we try to return a helpful error anyway
return nil, fmt.Errorf("Unknown API Error: %d %s", resp.StatusCode, string(data))
}
return nil, errors.New(errMap["message"].(string))
}