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) }