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.

release_test.go 2.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // Copyright 2018 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 release
  5. import (
  6. "path/filepath"
  7. "testing"
  8. "code.gitea.io/gitea/models"
  9. "code.gitea.io/gitea/modules/git"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func TestMain(m *testing.M) {
  13. models.MainTest(m, filepath.Join("..", ".."))
  14. }
  15. func TestRelease_Create(t *testing.T) {
  16. assert.NoError(t, models.PrepareTestDatabase())
  17. user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
  18. repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
  19. repoPath := models.RepoPath(user.Name, repo.Name)
  20. gitRepo, err := git.OpenRepository(repoPath)
  21. assert.NoError(t, err)
  22. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  23. RepoID: repo.ID,
  24. PublisherID: user.ID,
  25. TagName: "v0.1",
  26. Target: "master",
  27. Title: "v0.1 is released",
  28. Note: "v0.1 is released",
  29. IsDraft: false,
  30. IsPrerelease: false,
  31. IsTag: false,
  32. }, nil))
  33. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  34. RepoID: repo.ID,
  35. PublisherID: user.ID,
  36. TagName: "v0.1.1",
  37. Target: "65f1bf27bc3bf70f64657658635e66094edbcb4d",
  38. Title: "v0.1.1 is released",
  39. Note: "v0.1.1 is released",
  40. IsDraft: false,
  41. IsPrerelease: false,
  42. IsTag: false,
  43. }, nil))
  44. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  45. RepoID: repo.ID,
  46. PublisherID: user.ID,
  47. TagName: "v0.1.2",
  48. Target: "65f1bf2",
  49. Title: "v0.1.2 is released",
  50. Note: "v0.1.2 is released",
  51. IsDraft: false,
  52. IsPrerelease: false,
  53. IsTag: false,
  54. }, nil))
  55. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  56. RepoID: repo.ID,
  57. PublisherID: user.ID,
  58. TagName: "v0.1.3",
  59. Target: "65f1bf2",
  60. Title: "v0.1.3 is released",
  61. Note: "v0.1.3 is released",
  62. IsDraft: true,
  63. IsPrerelease: false,
  64. IsTag: false,
  65. }, nil))
  66. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  67. RepoID: repo.ID,
  68. PublisherID: user.ID,
  69. TagName: "v0.1.4",
  70. Target: "65f1bf2",
  71. Title: "v0.1.4 is released",
  72. Note: "v0.1.4 is released",
  73. IsDraft: false,
  74. IsPrerelease: true,
  75. IsTag: false,
  76. }, nil))
  77. assert.NoError(t, CreateRelease(gitRepo, &models.Release{
  78. RepoID: repo.ID,
  79. PublisherID: user.ID,
  80. TagName: "v0.1.5",
  81. Target: "65f1bf2",
  82. Title: "v0.1.5 is released",
  83. Note: "v0.1.5 is released",
  84. IsDraft: false,
  85. IsPrerelease: false,
  86. IsTag: true,
  87. }, nil))
  88. }