git.iko.soy/typeable/oauth2-proxy
on master help sign in
added better tests for gcp healthcheck stuff
commit3d22a116589ce2bc8561b477eaaf2ba9441692e5 authortimothy-spencer <timothy.spencer@gsa.gov> dateMon 25 Mar 2019, 09:56 (8 years ago) parente9f36fa
2 files changed+77
http_test.go+71 options_test.go+6
http_test.gonew file+71
@@ -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+}
options_test.go+6
@@ -268,3 +268,9 @@ func TestSkipOIDCDiscovery(t *testing.T) {
268268
269269 assert.Equal(t, nil, o.Validate())
270270}
271+
272+func TestGCPHealthcheck(t *testing.T) {
273+ o := testOptions()
274+ o.GCPHealthChecks = true
275+ assert.Equal(t, nil, o.Validate())
276+}