mirror of https://github.com/certusone/dc4bc.git
47 lines
867 B
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)
|
|
}
|
|
}
|