main pico / pkg / storage / storagetest / storagetest.go
Antonio Mika  ·  2026-10-09
 1// Package storagetest provides storage helpers for tests.
 2package storagetest
 3
 4import (
 5	"testing"
 6
 7	"github.com/picosh/pico/pkg/storage"
 8)
 9
10// Bucket creates an empty bucket and removes it when the test ends.
11func Bucket(t testing.TB, st storage.StorageServe, name string) storage.Bucket {
12	t.Helper()
13	if b, err := st.GetBucket(name); err == nil {
14		if err := st.DeleteBucket(b); err != nil {
15			t.Fatal(err)
16		}
17	}
18	b, err := st.UpsertBucket(name)
19	if err != nil {
20		t.Fatal(err)
21	}
22	t.Cleanup(func() { _ = st.DeleteBucket(b) })
23	return b
24}