From 6e387eab37d805b4b0922688972556b001665eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Gallego=20Rodr=C3=ADguez?= Date: Wed, 9 Oct 2019 14:26:44 +0200 Subject: [PATCH] new WIP Tests about mandatory fields --- internal/server/control/control_test.go | 78 +++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/internal/server/control/control_test.go b/internal/server/control/control_test.go index 76b8a05..bffabac 100644 --- a/internal/server/control/control_test.go +++ b/internal/server/control/control_test.go @@ -186,3 +186,81 @@ func TestListRoutesReturnsTwoElementsList(t *testing.T) { t.Errorf("Response mismatch. Expected %#v, got: %#v", expectedRouteList, respJson) } } + +// Test to Hector + +func TestAddRouteReturns422ErrorWhenNoMethod(t *testing.T) { + t.Skip("****** WIP ******") + reqPayload := `{ + url_pattern": "/hello", + entrypoint": null, + command": "echo Hello World | kapow set /response/body" + }` + + req := httptest.NewRequest(http.MethodPost, "/routes", strings.NewReader(reqPayload)) + resp := httptest.NewRecorder() + handler := http.HandlerFunc(addRoute) + + handler.ServeHTTP(resp, req) + if resp.Code != http.StatusUnprocessableEntity { + t.Errorf("HTTP status mistmacht. Expected: %d, got: %d", http.StatusUnprocessableEntity, resp.Code) + } + +} + +func TestAddRouteReturns422ErrorWhenNoUrlPattern(t *testing.T) { + t.Skip("****** WIP ******") + reqPayload := `{ + method": "GET", + entrypoint": null, + command": "echo Hello World | kapow set /response/body" + }` + + req := httptest.NewRequest(http.MethodPost, "/routes", strings.NewReader(reqPayload)) + resp := httptest.NewRecorder() + handler := http.HandlerFunc(addRoute) + + handler.ServeHTTP(resp, req) + if resp.Code != http.StatusUnprocessableEntity { + t.Errorf("HTTP status mistmacht. Expected: %d, got: %d", http.StatusUnprocessableEntity, resp.Code) + } + +} + +func TestAddRouteReturns422ErrorWhenNoEntryPoint(t *testing.T) { + t.Skip("****** WIP ******") + reqPayload := `{ + method": "GET", + url_pattern": "/hello", + command": "echo Hello World | kapow set /response/body" + }` + + req := httptest.NewRequest(http.MethodPost, "/routes", strings.NewReader(reqPayload)) + resp := httptest.NewRecorder() + handler := http.HandlerFunc(addRoute) + + handler.ServeHTTP(resp, req) + if resp.Code != http.StatusUnprocessableEntity { + t.Errorf("HTTP status mistmacht. Expected: %d, got: %d", http.StatusUnprocessableEntity, resp.Code) + } + +} + +func TestAddRouteReturns422ErrorWhenNoCommand(t *testing.T) { + t.Skip("****** WIP ******") + reqPayload := `{ + method": "GET", + url_pattern": "/hello", + entrypoint": null, + }` + + req := httptest.NewRequest(http.MethodPost, "/routes", strings.NewReader(reqPayload)) + resp := httptest.NewRecorder() + handler := http.HandlerFunc(addRoute) + + handler.ServeHTTP(resp, req) + if resp.Code != http.StatusUnprocessableEntity { + t.Errorf("HTTP status mistmacht. Expected: %d, got: %d", http.StatusUnprocessableEntity, resp.Code) + } + +}