From d5b84da8f5290b28da0be7fa80933f61417b6d33 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:35:24 -0600 Subject: [PATCH] move FillWithTestdata from RAM method to function --- driver.go | 54 +++++++++++++++++++++++++------------------------- driver_test.go | 7 +++++-- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/driver.go b/driver.go index e33a9e7..bb10b27 100644 --- a/driver.go +++ b/driver.go @@ -23,6 +23,33 @@ type Driver interface { Set(context.Context, string, string, []byte) error } +func FillWithTestdata(ctx context.Context, driver Driver) 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 := driver.Set(nil, "m", m.ID, m.Serialize()); err != nil { + return err + } + } + return nil +} + type Postgres struct { db *sql.DB } @@ -162,33 +189,6 @@ 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 c0d87ea..4944492 100644 --- a/driver_test.go +++ b/driver_test.go @@ -28,9 +28,12 @@ func TestDriverRAM(t *testing.T) { testDriver(t, NewRAM()) } -func TestRAMFillTestdata(t *testing.T) { +func TestFillTestdata(t *testing.T) { + ctx, can := context.WithTimeout(context.Background(), time.Second*15) + defer can() + ram := NewRAM() - if err := ram.Fill(); err != nil { + if err := FillWithTestdata(ctx, ram); err != nil { t.Fatal(err) } n := 0