summaryrefslogtreecommitdiff
path: root/src/post/asset_test.go
diff options
context:
space:
mode:
authorBrian Picciano <mediocregopher@gmail.com>2023-04-15 21:07:16 +0200
committerBrian Picciano <mediocregopher@gmail.com>2023-04-15 21:07:16 +0200
commit7872296b838f4d1b26c6a0a01d79d27fe5ab44cc (patch)
tree9487f5abb93d88ab3b52700d2b3002b7dda373d6 /src/post/asset_test.go
parent68f3215df6e2e4f345076dd5b20b9bf5867353cf (diff)
Move asset store into its own package
Diffstat (limited to 'src/post/asset_test.go')
-rw-r--r--src/post/asset_test.go91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/post/asset_test.go b/src/post/asset_test.go
deleted file mode 100644
index 4d62d46..0000000
--- a/src/post/asset_test.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package post
-
-import (
- "bytes"
- "io"
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-type assetTestHarness struct {
- store AssetStore
-}
-
-func newAssetTestHarness(t *testing.T) *assetTestHarness {
-
- db := NewInMemSQLDB()
- t.Cleanup(func() { db.Close() })
-
- store := NewAssetStore(db)
-
- return &assetTestHarness{
- store: store,
- }
-}
-
-func (h *assetTestHarness) assertGet(t *testing.T, exp, id string) {
- t.Helper()
- buf := new(bytes.Buffer)
- err := h.store.Get(id, buf)
- assert.NoError(t, err)
- assert.Equal(t, exp, buf.String())
-}
-
-func (h *assetTestHarness) assertNotFound(t *testing.T, id string) {
- t.Helper()
- err := h.store.Get(id, io.Discard)
- assert.ErrorIs(t, ErrAssetNotFound, err)
-}
-
-func TestAssetStore(t *testing.T) {
-
- testAssetStore := func(t *testing.T, h *assetTestHarness) {
- t.Helper()
-
- h.assertNotFound(t, "foo")
- h.assertNotFound(t, "bar")
-
- err := h.store.Set("foo", bytes.NewBufferString("FOO"))
- assert.NoError(t, err)
-
- h.assertGet(t, "FOO", "foo")
- h.assertNotFound(t, "bar")
-
- err = h.store.Set("foo", bytes.NewBufferString("FOOFOO"))
- assert.NoError(t, err)
-
- h.assertGet(t, "FOOFOO", "foo")
- h.assertNotFound(t, "bar")
-
- assert.NoError(t, h.store.Delete("foo"))
- h.assertNotFound(t, "foo")
- h.assertNotFound(t, "bar")
-
- assert.NoError(t, h.store.Delete("bar"))
- h.assertNotFound(t, "foo")
- h.assertNotFound(t, "bar")
-
- // test list
-
- ids, err := h.store.List()
- assert.NoError(t, err)
- assert.Empty(t, ids)
-
- err = h.store.Set("foo", bytes.NewBufferString("FOOFOO"))
- assert.NoError(t, err)
- err = h.store.Set("foo", bytes.NewBufferString("FOOFOO"))
- assert.NoError(t, err)
- err = h.store.Set("bar", bytes.NewBufferString("FOOFOO"))
- assert.NoError(t, err)
-
- ids, err = h.store.List()
- assert.NoError(t, err)
- assert.Equal(t, []string{"bar", "foo"}, ids)
- }
-
- t.Run("sql", func(t *testing.T) {
- h := newAssetTestHarness(t)
- testAssetStore(t, h)
- })
-}