Skip to content
Snippets Groups Projects
Commit 403f7f41 authored by Jake Taylor's avatar Jake Taylor
Browse files

add getLastMessage to session

parent dc3e4159
No related branches found
No related tags found
No related merge requests found
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
// Code generated by go generate; DO NOT EDIT. // Code generated by go generate; DO NOT EDIT.
// This file was generated by robots at // This file was generated by robots at
// 2020-08-03 19:00:29.952394 -0400 EDT m=+0.018956226 // 2020-08-04 14:03:41.019893 -0700 PDT m=+0.029153253
package globals package globals
const GITVERSION = `f944e22 fix tests surrounding new client storage object` const GITVERSION = `dc3e415 re-enable session smoke test`
const SEMVER = "1.4.0" const SEMVER = "1.4.0"
const DEPENDENCIES = `module gitlab.com/elixxir/client const DEPENDENCIES = `module gitlab.com/elixxir/client
......
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import "gitlab.com/elixxir/ekv" import "gitlab.com/elixxir/ekv"
...@@ -25,3 +31,14 @@ func (s *Session) Get(key string) (*VersionedObject, error) { ...@@ -25,3 +31,14 @@ func (s *Session) Get(key string) (*VersionedObject, error) {
func (s *Session) Set(key string, object *VersionedObject) error { func (s *Session) Set(key string, object *VersionedObject) error {
return s.kv.Set(key, object) return s.kv.Set(key, object)
} }
// Obtain the LastMessageID from the Session
func (s *Session) GetLastMessageId() (string, error) {
v, err := s.kv.Get("LastMessageID")
return string(v.Data), err
}
// Set the LastMessageID in the Session
func (s *Session) SetLastMessageId(object *VersionedObject) error {
return s.kv.Set("LastMessageID", object)
}
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage package storage
import ( import (
...@@ -42,5 +48,40 @@ func TestSession_Smoke(t *testing.T) { ...@@ -42,5 +48,40 @@ func TestSession_Smoke(t *testing.T) {
if bytes.Compare(o.Data, []byte("test")) != 0 { if bytes.Compare(o.Data, []byte("test")) != 0 {
t.Errorf("Failed to get data") t.Errorf("Failed to get data")
} }
}
// Happy path for getting/setting LastMessageID
func TestSession_GetSetLastMessageId(t *testing.T) {
testId := "testLastMessageId"
err := os.RemoveAll(".session_testdir")
if err != nil {
t.Errorf(err.Error())
}
s, err := Init(".session_testdir", "test")
if err != nil {
t.Log(s)
t.Errorf("failed to init: %+v", err)
}
ts, err := time.Now().MarshalText()
if err != nil {
t.Errorf("Failed to martial time for object")
}
err = s.SetLastMessageId(&VersionedObject{
Version: 0,
Timestamp: ts,
Data: []byte(testId),
})
if err != nil {
t.Errorf("Failed to set LastMessageId: %+v", err)
}
o, err := s.GetLastMessageId()
if err != nil {
t.Errorf("Failed to get LastMessageId")
}
if testId != o {
t.Errorf("Failed to get LastMessageID, Got %s Expected %s", o, testId)
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment