package sqlite import ( "context" "fmt" "os" "testing" "time" "forge.cadoles.com/arcad/edge/pkg/storage/testsuite" "github.com/pkg/errors" "gitlab.com/wpetit/goweb/logger" ) func TestBlobStore(t *testing.T) { t.Parallel() if testing.Verbose() { logger.SetLevel(logger.LevelDebug) } file := "./testdata/blobstore_test.sqlite" if err := os.Remove(file); err != nil && !errors.Is(err, os.ErrNotExist) { t.Fatalf("%+v", errors.WithStack(err)) } dsn := fmt.Sprintf("%s?_pragma=foreign_keys(1)&_pragma=busy_timeout=%d&_pragma=journal_mode=wal", file, (60 * time.Second).Milliseconds()) store := NewBlobStore(dsn) testsuite.TestBlobStore(context.Background(), t, store) } func BenchmarkBlobStore(t *testing.B) { logger.SetLevel(logger.LevelError) file := "./testdata/blobstore_test.sqlite" if err := os.Remove(file); err != nil && !errors.Is(err, os.ErrNotExist) { t.Fatalf("%+v", errors.WithStack(err)) } dsn := fmt.Sprintf("%s?_pragma=foreign_keys(1)&_pragma=busy_timeout=%d", file, (60 * time.Second).Milliseconds()) store := NewBlobStore(dsn) testsuite.BenchmarkBlobStore(t, store) }