dc4bc/storage/fileStorage_test.go

47 lines
867 B
Go

package storage
import (
"math/rand"
"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
}
func TestFull(t *testing.T) {
N := 10
offset := 5
fs, err := InitFileStorage("test")
if err != nil {
t.Error(err)
}
defer fs.Close()
msgs := make([]Message, 0, N)
for i := 0; i < N; i++ {
msg := Message{
Data: randomBytes(10),
Signature: randomBytes(10),
}
msgs = append(msgs, msg)
if err = fs.Post(msg); err != nil {
t.Error(err)
}
}
offsetMsgs, err := fs.GetMessages(offset)
if err != nil {
t.Error(err)
}
expectedOffsetMsgs := msgs[offset:]
if !reflect.DeepEqual(offsetMsgs, expectedOffsetMsgs) {
t.Errorf("expected messages: %v, actual messages: %v", expectedOffsetMsgs, offsetMsgs)
}
}