git-module

git clone git://git.lin.moe/fork/git-module.git

 1package git
 2
 3import (
 4	"os"
 5	"testing"
 6
 7	"github.com/stretchr/testify/assert"
 8)
 9
10func 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	})
16
17	// Save "post-receive" hook with some content
18	postReceiveHook := testrepo.NewHook(DefaultHooksDir, HookPostReceive)
19	defer func() {
20		_ = os.Remove(postReceiveHook.Path())
21	}()
22
23	err := postReceiveHook.Update("echo $1 $2 $3")
24	if err != nil {
25		t.Fatal(err)
26	}
27
28	hooks, err := testrepo.Hooks("")
29	if err != nil {
30		t.Fatal(err)
31	}
32	assert.Equal(t, 3, len(hooks))
33
34	for i := range hooks {
35		assert.NotEmpty(t, hooks[i].Content())
36	}
37}