442 when missing mandatory fields (WIP)

This commit is contained in:
César Gallego Rodríguez
2019-10-09 13:51:34 +02:00
parent 401644b65e
commit 7c95726a8c
2 changed files with 10 additions and 6 deletions
+9 -3
View File
@@ -3,7 +3,6 @@ package control
import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
@@ -59,7 +58,14 @@ func addRoute(res http.ResponseWriter, req *http.Request) {
res.WriteHeader(http.StatusBadRequest)
return
}
funcAdd(model.Route{})
if route.Method == "" {
res.WriteHeader(http.StatusUnprocessableEntity)
return
}
created := funcAdd(route)
createdBytes, _ := json.Marshal(created)
res.WriteHeader(http.StatusCreated)
_, _ = io.Copy(res, req.Body)
res.Header().Set("Content-Type", "application/json")
res.Write(createdBytes)
}
+1 -3
View File
@@ -13,7 +13,6 @@ import (
)
func TestAddRouteReturnsBadRequestWhenMalformedJSONBody(t *testing.T) {
reqPayload := `{
method": "GET",
url_pattern": "/hello",
@@ -33,7 +32,6 @@ func TestAddRouteReturnsBadRequestWhenMalformedJSONBody(t *testing.T) {
}
func TestAddRouteReturns422ErrorWhenMandatoryFieldsMissing(t *testing.T) {
t.Skip("****** WIP ******")
reqPayload := `{
}`
@@ -83,7 +81,7 @@ func TestAddRouteReturnsCreated(t *testing.T) {
respJson := model.Route{}
if err := json.Unmarshal(resp.Body.Bytes(), &respJson); err == nil {
t.Errorf("Invalid JSON response. %s", resp.Body.String())
t.Errorf("Invalid JSON response. %s", resp.Body.String()) //FIXME: String comparsion not working
}
expectedRouteSpec := model.Route{Method: "GET", Pattern: "/hello", Entrypoint: "/bin/sh -c", Command: "echo Hello World | kapow set /response/body", Index: 0, ID: "ROUTE_XXXXXXXXXXXXXXXXXX"}