From 2d7f562ed6cca9bc2885d7c2733508e52ab2bb31 Mon Sep 17 00:00:00 2001 From: Simon Pasquier Date: Wed, 19 Sep 2018 09:20:53 +0200 Subject: [PATCH] web: fix asset paths for Windows platforms (#4616) * web: fix asset paths for Windows platforms Signed-off-by: Simon Pasquier * web: add tests Signed-off-by: Simon Pasquier --- web/web.go | 4 ++-- web/web_test.go | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/web/web.go b/web/web.go index d41f62b61f..f7bf4f7b5e 100644 --- a/web/web.go +++ b/web/web.go @@ -264,7 +264,7 @@ func New(logger log.Logger, o *Options) *Handler { router.Get("/consoles/*filepath", readyf(h.consoles)) router.Get("/static/*filepath", func(w http.ResponseWriter, r *http.Request) { - r.URL.Path = filepath.Join("/static", route.Param(r.Context(), "filepath")) + r.URL.Path = path.Join("/static", route.Param(r.Context(), "filepath")) fs := http.FileServer(ui.Assets) fs.ServeHTTP(w, r) }) @@ -825,7 +825,7 @@ func (h *Handler) getTemplate(name string) (string, error) { var tmpl string appendf := func(name string) error { - f, err := ui.Assets.Open(filepath.Join("/templates", name)) + f, err := ui.Assets.Open(path.Join("/templates", name)) if err != nil { return err } diff --git a/web/web_test.go b/web/web_test.go index c18c23cddd..99d41fcda6 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -107,6 +107,12 @@ func TestReadyAndHealthy(t *testing.T) { RoutePrefix: "/", EnableAdminAPI: true, TSDB: func() *libtsdb.DB { return db }, + ExternalURL: &url.URL{ + Scheme: "http", + Host: "localhost:9090", + Path: "/", + }, + Version: &PrometheusVersion{}, } opts.Flags = map[string]string{} @@ -138,6 +144,11 @@ func TestReadyAndHealthy(t *testing.T) { testutil.Ok(t, err) testutil.Equals(t, http.StatusServiceUnavailable, resp.StatusCode) + resp, err = http.Get("http://localhost:9090/graph") + + testutil.Ok(t, err) + testutil.Equals(t, http.StatusServiceUnavailable, resp.StatusCode) + resp, err = http.Post("http://localhost:9090/api/v2/admin/tsdb/snapshot", "", strings.NewReader("")) testutil.Ok(t, err) @@ -166,6 +177,11 @@ func TestReadyAndHealthy(t *testing.T) { testutil.Ok(t, err) testutil.Equals(t, http.StatusOK, resp.StatusCode) + resp, err = http.Get("http://localhost:9090/graph") + + testutil.Ok(t, err) + testutil.Equals(t, http.StatusOK, resp.StatusCode) + resp, err = http.Post("http://localhost:9090/api/v2/admin/tsdb/snapshot", "", strings.NewReader("")) testutil.Ok(t, err)