From 89cd4dd424f844c2c1a8f0d0ee37033e36d83db4 Mon Sep 17 00:00:00 2001
From: Ethan Koenig <etk39@cornell.edu>
Date: Sat, 8 Jul 2017 22:07:29 -0400
Subject: [PATCH] Cache session cookies in tests (#2128)

---
 integrations/integration_test.go | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/integrations/integration_test.go b/integrations/integration_test.go
index 478eb976c..83c73ec66 100644
--- a/integrations/integration_test.go
+++ b/integrations/integration_test.go
@@ -158,8 +158,15 @@ func (s *TestSession) MakeRequest(t testing.TB, req *http.Request, expectedStatu
 
 const userPassword = "password"
 
+var loginSessionCache = make(map[string]*TestSession, 10)
+
 func loginUser(t testing.TB, userName string) *TestSession {
-	return loginUserWithPassword(t, userName, userPassword)
+	if session, ok := loginSessionCache[userName]; ok {
+		return session
+	}
+	session := loginUserWithPassword(t, userName, userPassword)
+	loginSessionCache[userName] = session
+	return session
 }
 
 func loginUserWithPassword(t testing.TB, userName, password string) *TestSession {