summaryrefslogtreecommitdiffstats
path: root/model/session_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/session_test.go')
-rw-r--r--model/session_test.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/model/session_test.go b/model/session_test.go
new file mode 100644
index 000000000..4df2a0d76
--- /dev/null
+++ b/model/session_test.go
@@ -0,0 +1,35 @@
+// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package model
+
+import (
+ "strings"
+ "testing"
+ "time"
+)
+
+func TestSessionJson(t *testing.T) {
+ session := Session{}
+ session.PreSave()
+ json := session.ToJson()
+ rsession := SessionFromJson(strings.NewReader(json))
+
+ if rsession.Id != session.Id {
+ t.Fatal("Ids do not match")
+ }
+
+ session.Sanitize()
+
+ if session.IsExpired() {
+ t.Fatal("Shouldn't expire")
+ }
+
+ session.ExpiresAt = GetMillis()
+ time.Sleep(10 * time.Millisecond)
+ if !session.IsExpired() {
+ t.Fatal("Should expire")
+ }
+
+ session.SetExpireInDays(10)
+}