2019-08-19 19:59:44 -07:00
|
|
|
// Copyright 2019 Team 254. All Rights Reserved.
|
|
|
|
|
// Author: pat@patfairbank.com (Patrick Fairbank)
|
|
|
|
|
|
|
|
|
|
package model
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestGetNonexistentUserSession(t *testing.T) {
|
|
|
|
|
db := setupTestDb(t)
|
2021-05-09 21:12:23 -07:00
|
|
|
defer db.Close()
|
2019-08-19 19:59:44 -07:00
|
|
|
|
|
|
|
|
session, err := db.GetUserSessionByToken("blorpy")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Nil(t, session)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestUserSessionCrud(t *testing.T) {
|
|
|
|
|
db := setupTestDb(t)
|
2021-05-09 21:12:23 -07:00
|
|
|
defer db.Close()
|
2019-08-19 19:59:44 -07:00
|
|
|
|
|
|
|
|
session := UserSession{0, "token1", "Bertha", time.Now()}
|
|
|
|
|
err := db.CreateUserSession(&session)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
session2, err := db.GetUserSessionByToken("token1")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, session.Token, session2.Token)
|
|
|
|
|
assert.Equal(t, session.Username, session2.Username)
|
|
|
|
|
assert.True(t, session.CreatedAt.Equal(session2.CreatedAt))
|
|
|
|
|
|
2021-05-12 18:20:01 -07:00
|
|
|
db.DeleteUserSession(session.Id)
|
2019-08-19 19:59:44 -07:00
|
|
|
session2, err = db.GetUserSessionByToken("token1")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Nil(t, session2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestTruncateUserSessions(t *testing.T) {
|
|
|
|
|
db := setupTestDb(t)
|
2021-05-09 21:12:23 -07:00
|
|
|
defer db.Close()
|
2019-08-19 19:59:44 -07:00
|
|
|
|
|
|
|
|
session := UserSession{0, "token1", "Bertha", time.Now()}
|
|
|
|
|
db.CreateUserSession(&session)
|
|
|
|
|
db.TruncateUserSessions()
|
|
|
|
|
session2, err := db.GetUserSessionByToken("token1")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Nil(t, session2)
|
|
|
|
|
}
|