31 lines
556 B
Go
31 lines
556 B
Go
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())
|
|
}
|
|
}
|