You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

branches_test.go 2.8 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package models
  5. import (
  6. "testing"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. var firstBranch = DeletedBranch{
  10. ID: 1,
  11. Name: "foo",
  12. Commit: "1213212312313213213132131",
  13. DeletedByID: int64(1),
  14. }
  15. var secondBranch = DeletedBranch{
  16. ID: 2,
  17. Name: "bar",
  18. Commit: "5655464564554545466464655",
  19. DeletedByID: int64(99),
  20. }
  21. func TestAddDeletedBranch(t *testing.T) {
  22. assert.NoError(t, PrepareTestDatabase())
  23. repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
  24. assert.NoError(t, repo.AddDeletedBranch(firstBranch.Name, firstBranch.Commit, firstBranch.DeletedByID))
  25. assert.Error(t, repo.AddDeletedBranch(firstBranch.Name, firstBranch.Commit, firstBranch.DeletedByID))
  26. assert.NoError(t, repo.AddDeletedBranch(secondBranch.Name, secondBranch.Commit, secondBranch.DeletedByID))
  27. }
  28. func TestGetDeletedBranches(t *testing.T) {
  29. assert.NoError(t, PrepareTestDatabase())
  30. AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1})
  31. repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
  32. branches, err := repo.GetDeletedBranches()
  33. assert.NoError(t, err)
  34. assert.Len(t, branches, 2)
  35. }
  36. func TestGetDeletedBranch(t *testing.T) {
  37. assert.NoError(t, PrepareTestDatabase())
  38. assert.NotNil(t, getDeletedBranch(t, firstBranch))
  39. }
  40. func TestDeletedBranchLoadUser(t *testing.T) {
  41. assert.NoError(t, PrepareTestDatabase())
  42. branch := getDeletedBranch(t, firstBranch)
  43. assert.Nil(t, branch.DeletedBy)
  44. branch.LoadUser()
  45. assert.NotNil(t, branch.DeletedBy)
  46. assert.Equal(t, "user1", branch.DeletedBy.Name)
  47. branch = getDeletedBranch(t, secondBranch)
  48. assert.Nil(t, branch.DeletedBy)
  49. branch.LoadUser()
  50. assert.NotNil(t, branch.DeletedBy)
  51. assert.Equal(t, "Ghost", branch.DeletedBy.Name)
  52. }
  53. func TestRemoveDeletedBranch(t *testing.T) {
  54. assert.NoError(t, PrepareTestDatabase())
  55. branch := DeletedBranch{ID: 1}
  56. AssertExistsAndLoadBean(t, &branch)
  57. repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
  58. err := repo.RemoveDeletedBranch(1)
  59. assert.NoError(t, err)
  60. AssertNotExistsBean(t, &branch)
  61. AssertExistsAndLoadBean(t, &DeletedBranch{ID: 2})
  62. }
  63. func getDeletedBranch(t *testing.T, branch DeletedBranch) *DeletedBranch {
  64. AssertExistsAndLoadBean(t, &DeletedBranch{ID: 1})
  65. repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
  66. deletedBranch, err := repo.GetDeletedBranchByID(branch.ID)
  67. assert.NoError(t, err)
  68. assert.Equal(t, branch.ID, deletedBranch.ID)
  69. assert.Equal(t, branch.Name, deletedBranch.Name)
  70. assert.Equal(t, branch.Commit, deletedBranch.Commit)
  71. assert.Equal(t, branch.DeletedByID, deletedBranch.DeletedByID)
  72. return deletedBranch
  73. }