//nolint:staticcheck
package store_test

import (
	"path/filepath"
	"testing"

	"gitea.benny.dog/torjus/ezshare/store"
)

func TestBoltStore(t *testing.T) {
	path := filepath.Join(t.TempDir(), "boltstore.db")
	s, err := store.NewBoltStore(path)
	defer s.Close()
	if err != nil {
		t.Fatalf("Error opening store: %s", err)
	}
	doFileStoreTest(s, t)
}

func TestBoltCertificateStore(t *testing.T) {
	path := filepath.Join(t.TempDir(), "boltstore.db")
	s, err := store.NewBoltStore(path)
	defer s.Close()
	if err != nil {
		t.Fatalf("Error opening store: %s", err)
	}
	doCertificateStoreTest(s, t)
}

func TestBoltUserStore(t *testing.T) {
	path := filepath.Join(t.TempDir(), "boltstore.db")
	s, err := store.NewBoltStore(path)
	defer s.Close()
	if err != nil {
		t.Fatalf("Error opening store: %s", err)
	}
	doUserStoreTests(s, t)
}
func TestBoltBinaryStore(t *testing.T) {
	path := filepath.Join(t.TempDir(), "boltstore.db")
	s, err := store.NewBoltStore(path)
	defer s.Close()
	if err != nil {
		t.Fatalf("Error opening store: %s", err)
	}
	doBinaryStoreTests(s, t)
}