gitea源码

repo_test.go 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package git
  4. import (
  5. "path/filepath"
  6. "testing"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestGetLatestCommitTime(t *testing.T) {
  10. bareRepo1Path := filepath.Join(testReposDir, "repo1_bare")
  11. lct, err := GetLatestCommitTime(t.Context(), bareRepo1Path)
  12. assert.NoError(t, err)
  13. // Time is Sun Nov 13 16:40:14 2022 +0100
  14. // which is the time of commit
  15. // ce064814f4a0d337b333e646ece456cd39fab612 (refs/heads/master)
  16. assert.EqualValues(t, 1668354014, lct.Unix())
  17. }
  18. func TestRepoIsEmpty(t *testing.T) {
  19. emptyRepo2Path := filepath.Join(testReposDir, "repo2_empty")
  20. repo, err := OpenRepository(t.Context(), emptyRepo2Path)
  21. assert.NoError(t, err)
  22. defer repo.Close()
  23. isEmpty, err := repo.IsEmpty()
  24. assert.NoError(t, err)
  25. assert.True(t, isEmpty)
  26. }
  27. func TestRepoGetDivergingCommits(t *testing.T) {
  28. bareRepo1Path := filepath.Join(testReposDir, "repo1_bare")
  29. do, err := GetDivergingCommits(t.Context(), bareRepo1Path, "master", "branch2")
  30. assert.NoError(t, err)
  31. assert.Equal(t, DivergeObject{
  32. Ahead: 1,
  33. Behind: 5,
  34. }, do)
  35. do, err = GetDivergingCommits(t.Context(), bareRepo1Path, "master", "master")
  36. assert.NoError(t, err)
  37. assert.Equal(t, DivergeObject{
  38. Ahead: 0,
  39. Behind: 0,
  40. }, do)
  41. do, err = GetDivergingCommits(t.Context(), bareRepo1Path, "master", "test")
  42. assert.NoError(t, err)
  43. assert.Equal(t, DivergeObject{
  44. Ahead: 0,
  45. Behind: 2,
  46. }, do)
  47. }