impl NewRam().Fill() to load testdata

main
Bel LaPointe 2024-04-12 13:33:06 -06:00
parent c0977a6b7a
commit b6526b8360
2 changed files with 43 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"io/ioutil"
"os"
"path"
"sync"
"time"
@ -161,6 +162,33 @@ func NewRAM() RAM {
}
}
func (ram RAM) Fill() error {
d := "./testdata/slack_events"
entries, err := os.ReadDir(d)
if err != nil {
return err
}
for _, entry := range entries {
if entry.IsDir() {
continue
}
b, err := os.ReadFile(path.Join(d, entry.Name()))
if err != nil {
return err
}
m, err := ParseSlack(b)
if errors.Is(err, ErrIrrelevantMessage) {
continue
} else if err != nil {
return err
}
if err := ram.Set(nil, "m", m.ID, m.Serialize()); err != nil {
return err
}
}
return nil
}
func (ram RAM) Close() error {
return nil
}

View File

@ -28,6 +28,21 @@ func TestDriverRAM(t *testing.T) {
testDriver(t, NewRAM())
}
func TestRAMFillTestdata(t *testing.T) {
ram := NewRAM()
if err := ram.Fill(); err != nil {
t.Fatal(err)
}
n := 0
if err := ram.ForEach(context.Background(), "m", func(_ string, _ []byte) error {
n += 1
return nil
}); err != nil {
t.Fatal(err)
}
t.Log(n)
}
func TestDriverBBolt(t *testing.T) {
testDriver(t, NewTestDBIn(t.TempDir()))
}