Fix route_add{,_test}.go to use an io.Writer for saving the response
Also add a TODO regarding untested response payload. Co-authored-by: Héctor Hurtado <hector.hurtado@bbva.com>
This commit is contained in:
@@ -3,16 +3,18 @@ package client
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"io"
|
||||||
|
|
||||||
"github.com/BBVA/kapow/internal/http"
|
"github.com/BBVA/kapow/internal/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddRoute will add a new route in kapow
|
// AddRoute will add a new route in kapow
|
||||||
func AddRoute(host, path, method, entrypoint, command string) error {
|
func AddRoute(host, path, method, entrypoint, command string, w io.Writer) error {
|
||||||
url := host + "/routes"
|
url := host + "/routes"
|
||||||
body, _ := json.Marshal(map[string]string{
|
body, _ := json.Marshal(map[string]string{
|
||||||
"method": method,
|
"method": method,
|
||||||
"url_pattern": path,
|
"url_pattern": path,
|
||||||
"entrypoint": entrypoint,
|
"entrypoint": entrypoint,
|
||||||
"command": command})
|
"command": command})
|
||||||
return http.Put(url, "application/json", bytes.NewReader(body), nil)
|
return http.Put(url, "application/json", bytes.NewReader(body), w)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,10 @@ func TestSuccessOnCorrectRoute(t *testing.T) {
|
|||||||
Reply(http.StatusCreated).
|
Reply(http.StatusCreated).
|
||||||
JSON(map[string]string{})
|
JSON(map[string]string{})
|
||||||
|
|
||||||
err := AddRoute("http://localhost", "/hello", "GET", "", "echo Hello World | kapow set /response/body")
|
// TODO: As per the spec¹, the call should return a JSON body with the info of the new route
|
||||||
|
// We should consider this in the mocked server and in the test
|
||||||
|
// ¹: https://github.com/BBVA/kapow/tree/master/spec#insert-a-route
|
||||||
|
err := AddRoute("http://localhost", "/hello", "GET", "", "echo Hello World | kapow set /response/body", nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %s", err)
|
t.Errorf("Unexpected error: %s", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user