gitea源码

hook_verification_test.go 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package private
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/unittest"
  7. "code.gitea.io/gitea/modules/git"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. var testReposDir = "tests/repos/"
  11. func TestVerifyCommits(t *testing.T) {
  12. unittest.PrepareTestEnv(t)
  13. gitRepo, err := git.OpenRepository(t.Context(), testReposDir+"repo1_hook_verification")
  14. if err != nil {
  15. defer gitRepo.Close()
  16. }
  17. assert.NoError(t, err)
  18. objectFormat, err := gitRepo.GetObjectFormat()
  19. assert.NoError(t, err)
  20. testCases := []struct {
  21. base, head string
  22. verified bool
  23. }{
  24. {"72920278f2f999e3005801e5d5b8ab8139d3641c", "d766f2917716d45be24bfa968b8409544941be32", true},
  25. {objectFormat.EmptyObjectID().String(), "93eac826f6188f34646cea81bf426aa5ba7d3bfe", true}, // New branch with verified commit
  26. {"9779d17a04f1e2640583d35703c62460b2d86e0a", "72920278f2f999e3005801e5d5b8ab8139d3641c", false},
  27. {objectFormat.EmptyObjectID().String(), "9ce3f779ae33f31fce17fac3c512047b75d7498b", false}, // New branch with unverified commit
  28. }
  29. for _, tc := range testCases {
  30. err = verifyCommits(tc.base, tc.head, gitRepo, nil)
  31. if tc.verified {
  32. assert.NoError(t, err)
  33. } else {
  34. assert.Error(t, err)
  35. }
  36. }
  37. }