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

add getLastMessage to session

parent dc3e4159
Branches
Tags
No related merge requests found
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
// Code generated by go generate; DO NOT EDIT.
// 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
const GITVERSION = `f944e22 fix tests surrounding new client storage object`
const GITVERSION = `dc3e415 re-enable session smoke test`
const SEMVER = "1.4.0"
const DEPENDENCIES = `module gitlab.com/elixxir/client
......
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 Privategrity Corporation /
// /
// All rights reserved. /
////////////////////////////////////////////////////////////////////////////////
package storage
import "gitlab.com/elixxir/ekv"
......@@ -25,3 +31,14 @@ func (s *Session) Get(key string) (*VersionedObject, error) {
func (s *Session) Set(key string, object *VersionedObject) error {
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
import (
......@@ -42,5 +48,40 @@ func TestSession_Smoke(t *testing.T) {
if bytes.Compare(o.Data, []byte("test")) != 0 {
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