@@ -0,0 +1,71 @@
1+package main
2+
3+import (
4+ "net/http"
5+ "net/http/httptest"
6+ "testing"
7+
8+ "github.com/stretchr/testify/assert"
9+)
10+
11+func TestGCPHealthcheckLiveness(t *testing.T) {
12+ handler := func(w http.ResponseWriter, req *http.Request) {
13+ w.Write([]byte("test"))
14+ }
15+
16+ h := gcpHealthcheck(http.HandlerFunc(handler))
17+ rw := httptest.NewRecorder()
18+ r, _ := http.NewRequest("GET", "/liveness_check", nil)
19+ r.RemoteAddr = "127.0.0.1"
20+ r.Host = "test-server"
21+ h.ServeHTTP(rw, r)
22+
23+ assert.Equal(t, 200, rw.Code)
24+ assert.Equal(t, "OK", rw.Body.String())
25+}
26+
27+func TestGCPHealthcheckReadiness(t *testing.T) {
28+ handler := func(w http.ResponseWriter, req *http.Request) {
29+ w.Write([]byte("test"))
30+ }
31+
32+ h := gcpHealthcheck(http.HandlerFunc(handler))
33+ rw := httptest.NewRecorder()
34+ r, _ := http.NewRequest("GET", "/readiness_check", nil)
35+ r.RemoteAddr = "127.0.0.1"
36+ r.Host = "test-server"
37+ h.ServeHTTP(rw, r)
38+
39+ assert.Equal(t, 200, rw.Code)
40+ assert.Equal(t, "OK", rw.Body.String())
41+}
42+
43+func TestGCPHealthcheckNotReadiness(t *testing.T) {
44+ handler := func(w http.ResponseWriter, req *http.Request) {
45+ w.Write([]byte("test"))
46+ }
47+
48+ h := gcpHealthcheck(http.HandlerFunc(handler))
49+ rw := httptest.NewRecorder()
50+ r, _ := http.NewRequest("GET", "/NOT_readiness_check", nil)
51+ r.RemoteAddr = "127.0.0.1"
52+ r.Host = "test-server"
53+ h.ServeHTTP(rw, r)
54+
55+ assert.NotEqual(t, "OK", rw.Body.String())
56+}
57+
58+func TestGCPHealthcheckNotLiveness(t *testing.T) {
59+ handler := func(w http.ResponseWriter, req *http.Request) {
60+ w.Write([]byte("test"))
61+ }
62+
63+ h := gcpHealthcheck(http.HandlerFunc(handler))
64+ rw := httptest.NewRecorder()
65+ r, _ := http.NewRequest("GET", "/NOT_liveness_check", nil)
66+ r.RemoteAddr = "127.0.0.1"
67+ r.Host = "test-server"
68+ h.ServeHTTP(rw, r)
69+
70+ assert.NotEqual(t, "OK", rw.Body.String())
71+}