From b6526b8360aef59dd22cee3a1e327d2dbbc45a03 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:33:06 -0600 Subject: [PATCH] impl NewRam().Fill() to load testdata --- driver.go | 28 ++++++++++++++++++++++++++++ driver_test.go | 15 +++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/driver.go b/driver.go index e9c85d5..e33a9e7 100644 --- a/driver.go +++ b/driver.go @@ -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 } diff --git a/driver_test.go b/driver_test.go index 8235d0c..c0d87ea 100644 --- a/driver_test.go +++ b/driver_test.go @@ -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())) }