add test code
This commit is contained in:
26
ci/app/go_test.go
Normal file
26
ci/app/go_test.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
|
||||
func TestHealthMessage(t *testing.T) {
|
||||
wr := httptest.NewRecorder()
|
||||
req := httptest.NewRequest(http.MethodGet, "/health", nil)
|
||||
|
||||
healthMessage(wr, req)
|
||||
if wr.Code != http.StatusOK {
|
||||
t.Errorf("got HTTP status code %d, expected 200", wr.Code)
|
||||
}
|
||||
|
||||
if !strings.Contains(wr.Body.String(), `{"health":"OK"}`) {
|
||||
t.Errorf(
|
||||
`response body "%s" does not contain "health OK"`,
|
||||
wr.Body.String(),
|
||||
)
|
||||
}
|
||||
}
|
@@ -12,6 +12,11 @@ func indexHandler(w http.ResponseWriter, r *http.Request) {
|
||||
w.Write([]byte("<h1>Hello World, im ver:"+Version+" !</h1>"))
|
||||
}
|
||||
|
||||
func healthMessage(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "application/json")
|
||||
w.Write([]byte(`{"health":"OK"}`))
|
||||
}
|
||||
|
||||
func main() {
|
||||
port := os.Getenv("PORT")
|
||||
if port == "" {
|
||||
@@ -22,5 +27,6 @@ func main() {
|
||||
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/", indexHandler)
|
||||
mux.HandleFunc("/health", healthMessage)
|
||||
http.ListenAndServe(":"+port, mux)
|
||||
}
|
||||
|
Reference in New Issue
Block a user