swappableMux is now public and Append() now updates Server.Handler

Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com>
This commit is contained in:
pancho horrillo
2019-10-10 20:06:05 +02:00
parent 0c408497a3
commit df5d38e94f
8 changed files with 74 additions and 42 deletions
+38
View File
@@ -1,3 +1,41 @@
package user
import (
"net/http"
"net/http/httptest"
"os"
"testing"
"github.com/BBVA/kapow/internal/server/model"
"github.com/BBVA/kapow/internal/server/user/mux"
)
// TODO TestRunRunsAnHTTPServer(t *testing.T) {}
func TestAppendUpdatesMuxWithProvideRoute(t *testing.T) {
Server = http.Server{
Handler: mux.New(),
}
srl := New()
route := model.Route{
Method: "GET",
Pattern: "/",
Entrypoint: "/bin/sh -c",
Command: "jaillover > /tmp/kapow-test-append-updates-mux",
}
os.Remove("/tmp/kapow-test-append-updates-mux")
defer os.Remove("/tmp/kapow-test-append-updates-mux")
srl.Append(route)
req := httptest.NewRequest("GET", "/", nil)
w := httptest.NewRecorder()
Server.Handler.ServeHTTP(w, req)
if _, err := os.Stat("/tmp/kapow-test-append-updates-mux"); os.IsNotExist(err) {
t.Error("Routes not updated")
} else if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
}