git.iko.soy/typeable/oauth2-proxy
on master help sign in
Add ProcessCookie() test
commit5cbdb745183a36ce05be9e3b19050edee27084f4 authorMike Bland <michael.bland@gsa.gov> dateFri 8 May 2015, 11:52 (11 years ago) parentf554f99
1 file changed+53
oauthproxy_test.go+53
oauthproxy_test.go+53
@@ -305,3 +305,56 @@ func TestSignInPageDirectAccessRedirectsToRoot(t *testing.T) {
305305 t.Fatal(`expected redirect to "/", but was "` + match[1] + `"`)
306306 }
307307}
308+
309+type ProcessCookieTest struct {
310+ opts *Options
311+ proxy *OauthProxy
312+ rw *httptest.ResponseRecorder
313+ req *http.Request
314+}
315+
316+func NewProcessCookieTest() *ProcessCookieTest {
317+ var pc_test ProcessCookieTest
318+
319+ pc_test.opts = NewOptions()
320+ pc_test.opts.Upstreams = append(pc_test.opts.Upstreams, "unused")
321+ pc_test.opts.CookieSecret = "foobar"
322+ pc_test.opts.ClientID = "bazquux"
323+ pc_test.opts.ClientSecret = "xyzzyplugh"
324+ pc_test.opts.Validate()
325+
326+ pc_test.proxy = NewOauthProxy(pc_test.opts, func(email string) bool {
327+ return true
328+ })
329+
330+ pc_test.rw = httptest.NewRecorder()
331+ pc_test.req, _ = http.NewRequest("GET", "/", strings.NewReader(""))
332+ return &pc_test
333+}
334+
335+func (p *ProcessCookieTest) MakeCookie(value string) *http.Cookie {
336+ return p.proxy.MakeCookie(p.req, value, p.opts.CookieExpire)
337+}
338+
339+func (p *ProcessCookieTest) AddCookie(value string) {
340+ p.req.AddCookie(p.MakeCookie(value))
341+}
342+
343+func (p *ProcessCookieTest) ProcessCookie() (email, user, access_token string, ok bool) {
344+ return p.proxy.ProcessCookie(p.rw, p.req)
345+}
346+
347+func TestProcessCookie(t *testing.T) {
348+ pc_test := NewProcessCookieTest()
349+ pc_test.AddCookie("michael.bland@gsa.gov")
350+ email, user, _, ok := pc_test.ProcessCookie()
351+ assert.Equal(t, true, ok)
352+ assert.Equal(t, "michael.bland@gsa.gov", email)
353+ assert.Equal(t, "michael.bland", user)
354+}
355+
356+func TestProcessCookieError(t *testing.T) {
357+ pc_test := NewProcessCookieTest()
358+ _, _, _, ok := pc_test.ProcessCookie()
359+ assert.Equal(t, false, ok)
360+}