github.com/astaxie/beego@v1.12.3/session/redis_sentinel/sess_redis_sentinel_test.go (about) 1 package redis_sentinel 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "testing" 7 8 "github.com/astaxie/beego/session" 9 ) 10 11 func TestRedisSentinel(t *testing.T) { 12 sessionConfig := &session.ManagerConfig{ 13 CookieName: "gosessionid", 14 EnableSetCookie: true, 15 Gclifetime: 3600, 16 Maxlifetime: 3600, 17 Secure: false, 18 CookieLifeTime: 3600, 19 ProviderConfig: "127.0.0.1:6379,100,,0,master", 20 } 21 globalSessions, e := session.NewManager("redis_sentinel", sessionConfig) 22 if e != nil { 23 t.Log(e) 24 return 25 } 26 //todo test if e==nil 27 go globalSessions.GC() 28 29 r, _ := http.NewRequest("GET", "/", nil) 30 w := httptest.NewRecorder() 31 32 sess, err := globalSessions.SessionStart(w, r) 33 if err != nil { 34 t.Fatal("session start failed:", err) 35 } 36 defer sess.SessionRelease(w) 37 38 // SET AND GET 39 err = sess.Set("username", "astaxie") 40 if err != nil { 41 t.Fatal("set username failed:", err) 42 } 43 username := sess.Get("username") 44 if username != "astaxie" { 45 t.Fatal("get username failed") 46 } 47 48 // DELETE 49 err = sess.Delete("username") 50 if err != nil { 51 t.Fatal("delete username failed:", err) 52 } 53 username = sess.Get("username") 54 if username != nil { 55 t.Fatal("delete username failed") 56 } 57 58 // FLUSH 59 err = sess.Set("username", "astaxie") 60 if err != nil { 61 t.Fatal("set failed:", err) 62 } 63 err = sess.Set("password", "1qaz2wsx") 64 if err != nil { 65 t.Fatal("set failed:", err) 66 } 67 username = sess.Get("username") 68 if username != "astaxie" { 69 t.Fatal("get username failed") 70 } 71 password := sess.Get("password") 72 if password != "1qaz2wsx" { 73 t.Fatal("get password failed") 74 } 75 err = sess.Flush() 76 if err != nil { 77 t.Fatal("flush failed:", err) 78 } 79 username = sess.Get("username") 80 if username != nil { 81 t.Fatal("flush failed") 82 } 83 password = sess.Get("password") 84 if password != nil { 85 t.Fatal("flush failed") 86 } 87 88 sess.SessionRelease(w) 89 90 }