From cad53bf66e7328f5f6bdf7bf02113464370f16a4 Mon Sep 17 00:00:00 2001 From: Kevin Burke Date: Mon, 17 Jul 2017 11:16:06 -0700 Subject: blog: user- and test-friendly local server Log a short message when the blog starts explaining that it's listening and what port it's listening on. This is helpful to avoid errors if you start the blog and refresh the page before the server has started listening on the port. Add a basic homepage rendering test that should help protect against regressions. Change-Id: Ic86c30652714230b730cd4a254e69c10d019246b Reviewed-on: https://go-review.googlesource.com/49292 Reviewed-by: Chris Broadfoot --- blog/local_test.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 blog/local_test.go (limited to 'blog/local_test.go') diff --git a/blog/local_test.go b/blog/local_test.go new file mode 100644 index 0000000..b2a4419 --- /dev/null +++ b/blog/local_test.go @@ -0,0 +1,33 @@ +// +build !appengine + +package main + +import ( + "net/http/httptest" + "strings" + "testing" + + "golang.org/x/tools/blog" +) + +func TestServer(t *testing.T) { + mux, err := newServer(false, "/static", blog.Config{ + TemplatePath: "../template", + }) + if err != nil { + t.Fatal(err) + } + r := httptest.NewRequest("GET", "/", nil) + w := httptest.NewRecorder() + mux.ServeHTTP(w, r) + if w.Code != 200 { + t.Errorf("GET /: want code 200, got %d") + } + want := "The Go Programming Language Blog" + if !strings.Contains(w.Body.String(), want) { + t.Errorf("GET /: want to find %q, got\n\n%q", want, w.Body.String()) + } + if hdr := w.Header().Get("Content-Type"); hdr != "text/html; charset=utf-8" { + t.Errorf("GET /: want text/html content-type, got %q", hdr) + } +} -- cgit v1.2.3