dc4bc/storage/fileStorage_test.go

54 lines
986 B
Go
Raw Normal View History

package storage
import (
"math/rand"
2020-07-30 03:29:47 -07:00
"os"
"reflect"
"testing"
"time"
)
func randomBytes(n int) []byte {
rand.Seed(time.Now().UnixNano())
b := make([]byte, n)
if _, err := rand.Read(b); err != nil {
return nil
}
return b
}
2020-07-29 04:25:33 -07:00
func TestFileStorage_GetMessages(t *testing.T) {
N := 10
2020-07-30 03:29:47 -07:00
var offset uint64 = 5
var testFile = "/tmp/dc4bc_test_file_storage"
2020-08-04 00:45:32 -07:00
fs, err := NewFileStorage(testFile)
if err != nil {
t.Error(err)
}
defer fs.Close()
2020-07-30 03:29:47 -07:00
defer os.Remove(testFile)
msgs := make([]Message, 0, N)
for i := 0; i < N; i++ {
msg := Message{
Data: randomBytes(10),
Signature: randomBytes(10),
}
msg, err = fs.Send(msg)
if err != nil {
t.Error(err)
}
msgs = append(msgs, msg)
}
2020-07-30 03:29:47 -07:00
offsetMsgs, err := fs.GetMessages(offset)
if err != nil {
t.Error(err)
}
2020-07-30 03:29:47 -07:00
expectedOffsetMsgs := msgs[offset:]
if !reflect.DeepEqual(offsetMsgs, expectedOffsetMsgs) {
t.Errorf("expected messages: %v, actual messages: %v", expectedOffsetMsgs, offsetMsgs)
}
}