diff options
author | Brian Picciano <mediocregopher@gmail.com> | 2023-04-15 21:07:16 +0200 |
---|---|---|
committer | Brian Picciano <mediocregopher@gmail.com> | 2023-04-15 21:07:16 +0200 |
commit | 7872296b838f4d1b26c6a0a01d79d27fe5ab44cc (patch) | |
tree | 9487f5abb93d88ab3b52700d2b3002b7dda373d6 /src/post/asset_test.go | |
parent | 68f3215df6e2e4f345076dd5b20b9bf5867353cf (diff) |
Move asset store into its own package
Diffstat (limited to 'src/post/asset_test.go')
-rw-r--r-- | src/post/asset_test.go | 91 |
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) - }) -} |