1
0
mirror of https://github.com/alexedwards/scs.git synced 2025-07-15 01:04:36 +02:00

[tests] Use Save function to add records where expiry is important

This commit is contained in:
Alex Edwards
2016-08-19 12:18:27 +02:00
parent 5c1779caa1
commit 2ccea1c502

View File

@ -88,39 +88,6 @@ func TestFindMissing(t *testing.T) {
}
}
func TestExpiry(t *testing.T) {
dsn := os.Getenv("SESSION_PG_TEST_DSN")
db, err := sql.Open("postgres", dsn)
if err != nil {
t.Fatal(err)
}
defer db.Close()
if err = db.Ping(); err != nil {
t.Fatal(err)
}
_, err = db.Exec("TRUNCATE TABLE sessions")
if err != nil {
t.Fatal(err)
}
_, err = db.Exec("INSERT INTO sessions VALUES('session_token', 'encoded_data', current_timestamp + interval '100 milliseconds')")
if err != nil {
t.Fatal(err)
}
p := New(db, 0)
_, found, _ := p.Find("session_token")
if found != true {
t.Fatalf("got %v: expected %v", found, true)
}
time.Sleep(100 * time.Millisecond)
_, found, _ = p.Find("session_token")
if found != false {
t.Fatalf("got %v: expected %v", found, false)
}
}
func TestSaveNew(t *testing.T) {
dsn := os.Getenv("SESSION_PG_TEST_DSN")
db, err := sql.Open("postgres", dsn)
@ -191,6 +158,40 @@ func TestSaveUpdated(t *testing.T) {
}
}
func TestExpiry(t *testing.T) {
dsn := os.Getenv("SESSION_PG_TEST_DSN")
db, err := sql.Open("postgres", dsn)
if err != nil {
t.Fatal(err)
}
defer db.Close()
if err = db.Ping(); err != nil {
t.Fatal(err)
}
_, err = db.Exec("TRUNCATE TABLE sessions")
if err != nil {
t.Fatal(err)
}
p := New(db, 0)
err = p.Save("session_token", []byte("encoded_data"), time.Now().Add(100*time.Millisecond))
if err != nil {
t.Fatal(err)
}
_, found, _ := p.Find("session_token")
if found != true {
t.Fatalf("got %v: expected %v", found, true)
}
time.Sleep(100 * time.Millisecond)
_, found, _ = p.Find("session_token")
if found != false {
t.Fatalf("got %v: expected %v", found, false)
}
}
func TestDelete(t *testing.T) {
dsn := os.Getenv("SESSION_PG_TEST_DSN")
db, err := sql.Open("postgres", dsn)
@ -246,7 +247,7 @@ func TestSweeper(t *testing.T) {
p := New(db, 200*time.Millisecond)
defer p.StopSweeper()
_, err = db.Exec("INSERT INTO sessions VALUES('session_token', 'encoded_data', current_timestamp + interval '100 milliseconds')")
err = p.Save("session_token", []byte("encoded_data"), time.Now().Add(100*time.Millisecond))
if err != nil {
t.Fatal(err)
}