lets-go:14.3 end-to-end server testing
This commit is contained in:
parent
be85d936a9
commit
eeca8ca34c
@ -3,6 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"io"
|
"io"
|
||||||
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
@ -11,17 +12,18 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestPing(t *testing.T) {
|
func TestPing(t *testing.T) {
|
||||||
rr := httptest.NewRecorder()
|
app := &application{
|
||||||
|
logger: slog.New(slog.NewTextHandler(io.Discard, nil)),
|
||||||
|
}
|
||||||
|
|
||||||
r, err := http.NewRequest(http.MethodGet, "/", nil)
|
ts := httptest.NewTLSServer(app.routes())
|
||||||
|
defer ts.Close()
|
||||||
|
|
||||||
|
rs, err := ts.Client().Get(ts.URL + "/ping")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ping(rr, r)
|
|
||||||
|
|
||||||
rs := rr.Result()
|
|
||||||
|
|
||||||
assert.Equal(t, rs.StatusCode, http.StatusOK)
|
assert.Equal(t, rs.StatusCode, http.StatusOK)
|
||||||
|
|
||||||
defer rs.Body.Close()
|
defer rs.Body.Close()
|
||||||
|
@ -25,6 +25,8 @@ func (app *application) routes() http.Handler {
|
|||||||
fileServer := http.FileServer(http.FS(ui.Files))
|
fileServer := http.FileServer(http.FS(ui.Files))
|
||||||
router.Handler(http.MethodGet, "/static/*filepath", fileServer)
|
router.Handler(http.MethodGet, "/static/*filepath", fileServer)
|
||||||
|
|
||||||
|
router.HandlerFunc(http.MethodGet, "/ping", ping)
|
||||||
|
|
||||||
dynamic := alice.New(app.sessionManager.LoadAndSave, noSurf, app.authenticate)
|
dynamic := alice.New(app.sessionManager.LoadAndSave, noSurf, app.authenticate)
|
||||||
|
|
||||||
router.Handler(http.MethodGet, "/", dynamic.ThenFunc(app.home))
|
router.Handler(http.MethodGet, "/", dynamic.ThenFunc(app.home))
|
||||||
|
Loading…
Reference in New Issue
Block a user