1package git23import (4 "os"5 "testing"67 "github.com/stretchr/testify/assert"8)910func TestRepository_Hooks(t *testing.T) {11 t.Run("invalid hook", func(t *testing.T) {12 h, err := testrepo.Hook("", "bad_hook")13 assert.Equal(t, os.ErrNotExist, err)14 assert.Nil(t, h)15 })1617 // Save "post-receive" hook with some content18 postReceiveHook := testrepo.NewHook(DefaultHooksDir, HookPostReceive)19 defer func() {20 _ = os.Remove(postReceiveHook.Path())21 }()2223 err := postReceiveHook.Update("echo $1 $2 $3")24 if err != nil {25 t.Fatal(err)26 }2728 hooks, err := testrepo.Hooks("")29 if err != nil {30 t.Fatal(err)31 }32 assert.Equal(t, 3, len(hooks))3334 for i := range hooks {35 assert.NotEmpty(t, hooks[i].Content())36 }37}