37 lines
595 B
Go
37 lines
595 B
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"log/slog"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"snippetbox.chaosfem.tw/internal/assert"
|
|
)
|
|
|
|
func TestPing(t *testing.T) {
|
|
app := &application{
|
|
logger: slog.New(slog.NewTextHandler(io.Discard, nil)),
|
|
}
|
|
|
|
ts := httptest.NewTLSServer(app.routes())
|
|
defer ts.Close()
|
|
|
|
rs, err := ts.Client().Get(ts.URL + "/ping")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
assert.Equal(t, rs.StatusCode, http.StatusOK)
|
|
|
|
defer rs.Body.Close()
|
|
body, err := io.ReadAll(rs.Body)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
assert.Equal(t, string(bytes.TrimSpace(body)), "OK")
|
|
}
|