From 4ba9275e7d1c9adf625e17406041e500d8545864 Mon Sep 17 00:00:00 2001 From: yosssi Date: Mon, 16 Jun 2014 18:23:48 +0900 Subject: [PATCH] Add shared/utils_test.go --- shared/utils_test.go | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 shared/utils_test.go diff --git a/shared/utils_test.go b/shared/utils_test.go new file mode 100644 index 0000000..c2b6966 --- /dev/null +++ b/shared/utils_test.go @@ -0,0 +1,50 @@ +package shared + +import ( + "testing" + "time" + "github.com/yosssi/boltstore/shared/protobuf" + + "code.google.com/p/gogoprotobuf/proto" +) + +func TestSession(t *testing.T) { + expiresAt := time.Now().Unix() + sessionOrig := &protobuf.Session{ + Values: []byte("test"), + ExpiresAt: &expiresAt, + } + data, err := proto.Marshal(sessionOrig) + if err != nil { + t.Error(err.Error()) + } + session, err := Session(data) + if err != nil { + t.Error(err.Error()) + } + if string(session.Values) != "test" || *session.ExpiresAt != expiresAt { + t.Errorf("Session() should return %+v (actual: %+v)", sessionOrig, session) + } +} + +func TestExpired(t *testing.T) { + // When Expired() should return true. + expiresAt := time.Now().Unix() + session := protobuf.Session{ + Values: []byte("test"), + ExpiresAt: &expiresAt, + } + if Expired(session) != true { + t.Error("Expired() should return true (actual: false)") + } + + // When Expired() should return false. + expiresAt = time.Now().Add(time.Hour).Unix() + session = protobuf.Session{ + Values: []byte("test"), + ExpiresAt: &expiresAt, + } + if Expired(session) != false { + t.Error("Expired() should return false (actual: true)") + } +}