diff options
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) - }) -} |