package store

import (
	"os"
	"testing"

	"git.casaderoll.de/michael/urbm/internal/model"
)

func TestStoreInitializesAndPersists(t *testing.T) {
	dir := t.TempDir()
	s := New(dir)
	if err := s.Init(); err != nil {
		t.Fatal(err)
	}
	c, err := s.LoadConfig()
	if err != nil {
		t.Fatal(err)
	}
	if c.SchemaVersion != model.SchemaVersion {
		t.Fatalf("schema version = %d", c.SchemaVersion)
	}
	info, err := os.Stat(s.configPath())
	if err != nil {
		t.Fatal(err)
	}
	if info.Mode().Perm() != 0600 {
		t.Fatalf("config mode = %o", info.Mode().Perm())
	}
}
