From 25d34bda0a844db16b92fc9515485c156694ec8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Gallego=20Rodr=C3=ADguez?= Date: Thu, 10 Oct 2019 17:34:28 +0200 Subject: [PATCH] set valid header value WIP --- internal/server/data/server_test.go | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/internal/server/data/server_test.go b/internal/server/data/server_test.go index e760a4a..ff52eed 100644 --- a/internal/server/data/server_test.go +++ b/internal/server/data/server_test.go @@ -137,6 +137,38 @@ func TestUpdateResourceBadRequestWhenInvalidCookiesUrl(t *testing.T) { } } +func TestUpdateResourceAddHeaderWhenRecieved(t *testing.T) { + t.Skip("**** WIP ****") + request := httptest.NewRequest(http.MethodPut, "/handlers/HANDLER_YYYYYYYYYYYYYYYY/response/header/pepe", strings.NewReader("mola")) + response := httptest.NewRecorder() + handler := mux.NewRouter() + handler.HandleFunc("/handlers/{handler_id}/{resource:.*$}", updateResource). + Methods("PUT") + + handlerResponse := httptest.NewRecorder() + myHandler := &model.Handler{ + ID: "HANDLER_YYYYYYYYYYYYYYYY", + Writer: handlerResponse, + } + getHandlerId = func(id string) (*model.Handler, bool) { + if id == "HANDLER_YYYYYYYYYYYYYYYY" { + return myHandler, true + } + + return nil, false + } + + handler.ServeHTTP(response, request) + if response.Code != http.StatusOK { + t.Errorf("HTTP Status mismatch. Expected: %d, got: %d", http.StatusOK, response.Code) + } + + headerValue := handlerResponse.Header().Get("pepe") + if headerValue != "mola" { + t.Errorf("Invalid Cookie value. Expected: %s, got: %s", "mola", headerValue) + } +} + // FIXME: Fails because URL doesn't match //func TestUpdateResourceNotFoundWhenInvalidHandlerID(t *testing.T) { // request := httptest.NewRequest(http.MethodPut, "/handlers/response/headers/language", strings.NewReader("ES"))