package main import ( "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) // hyperguild#157: the server refuses to start while a symlink exists in the // brain dir (Mathias's chosen tripwire), naming it; a clean brain starts. func TestStartupSymlinkCheckRefusesABrainWithASymlink(t *testing.T) { brain := t.TempDir() require.NoError(t, os.Symlink(t.TempDir(), filepath.Join(brain, "planted"))) err := startupSymlinkCheck(brain) require.Error(t, err) assert.Contains(t, err.Error(), "planted") } func TestStartupSymlinkCheckPassesACleanBrain(t *testing.T) { brain := t.TempDir() require.NoError(t, os.WriteFile(filepath.Join(brain, "n.md"), []byte("x"), 0o644)) assert.NoError(t, startupSymlinkCheck(brain)) }