52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
package models
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"git.1248.nz/1248/Otfe/misc/b64"
|
|
"git.1248.nz/1248/Otfe/misc/helpers"
|
|
"git.1248.nz/1248/Otfe/misc/rand"
|
|
)
|
|
|
|
func TestSessionCreate(t *testing.T) {
|
|
var s1, s2 Session
|
|
s1.ID, _ = rand.B64String(32)
|
|
if s1.Create() != nil {
|
|
t.Fail()
|
|
}
|
|
read("session", "_id", s1.ID, &s2)
|
|
|
|
if s1.ID != s2.ID {
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestSessionRead(t *testing.T) {
|
|
var s1, s2 Session
|
|
s1.ID, _ = rand.B64String(32)
|
|
if create("session", &s1) != nil {
|
|
t.Fatal("Failed to create session")
|
|
}
|
|
if s2.Read(s1.ID) != nil {
|
|
t.Fatal("Failed to read session")
|
|
}
|
|
if s1.ID != s2.ID {
|
|
t.Fatal("Ids don't match")
|
|
}
|
|
}
|
|
|
|
func TestGet(t *testing.T) {
|
|
DBWipeCollection("session")
|
|
var s1, s2 Session
|
|
s1.ID, _ = rand.B64String(32)
|
|
s1.Create()
|
|
c := &http.Cookie{Name: "session",
|
|
Value: b64.Encode(s1.ID)}
|
|
request, err := http.NewRequest("GET", "/", nil)
|
|
helpers.Ok(t, err)
|
|
request.AddCookie(c)
|
|
s2.Get(request)
|
|
helpers.Equals(t, s1, s2)
|
|
}
|