gitea源码

repo_test.go 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package repo
  4. import (
  5. "net/http"
  6. "testing"
  7. repo_model "code.gitea.io/gitea/models/repo"
  8. "code.gitea.io/gitea/models/unittest"
  9. api "code.gitea.io/gitea/modules/structs"
  10. "code.gitea.io/gitea/modules/web"
  11. "code.gitea.io/gitea/services/contexttest"
  12. "github.com/stretchr/testify/assert"
  13. )
  14. func TestRepoEdit(t *testing.T) {
  15. unittest.PrepareTestEnv(t)
  16. ctx, _ := contexttest.MockAPIContext(t, "user2/repo1")
  17. contexttest.LoadRepo(t, ctx, 1)
  18. contexttest.LoadUser(t, ctx, 2)
  19. ctx.Repo.Owner = ctx.Doer
  20. description := "new description"
  21. website := "http://wwww.newwebsite.com"
  22. private := true
  23. hasIssues := false
  24. hasWiki := false
  25. defaultBranch := "master"
  26. hasPullRequests := true
  27. ignoreWhitespaceConflicts := true
  28. allowMerge := false
  29. allowRebase := false
  30. allowRebaseMerge := false
  31. allowSquashMerge := false
  32. allowFastForwardOnlyMerge := false
  33. archived := true
  34. opts := api.EditRepoOption{
  35. Name: &ctx.Repo.Repository.Name,
  36. Description: &description,
  37. Website: &website,
  38. Private: &private,
  39. HasIssues: &hasIssues,
  40. HasWiki: &hasWiki,
  41. DefaultBranch: &defaultBranch,
  42. HasPullRequests: &hasPullRequests,
  43. IgnoreWhitespaceConflicts: &ignoreWhitespaceConflicts,
  44. AllowMerge: &allowMerge,
  45. AllowRebase: &allowRebase,
  46. AllowRebaseMerge: &allowRebaseMerge,
  47. AllowSquash: &allowSquashMerge,
  48. AllowFastForwardOnly: &allowFastForwardOnlyMerge,
  49. Archived: &archived,
  50. }
  51. web.SetForm(ctx, &opts)
  52. Edit(ctx)
  53. assert.Equal(t, http.StatusOK, ctx.Resp.WrittenStatus())
  54. unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{
  55. ID: 1,
  56. }, unittest.Cond("name = ? AND is_archived = 1", *opts.Name))
  57. }
  58. func TestRepoEditNameChange(t *testing.T) {
  59. unittest.PrepareTestEnv(t)
  60. ctx, _ := contexttest.MockAPIContext(t, "user2/repo1")
  61. contexttest.LoadRepo(t, ctx, 1)
  62. contexttest.LoadUser(t, ctx, 2)
  63. ctx.Repo.Owner = ctx.Doer
  64. name := "newname"
  65. opts := api.EditRepoOption{
  66. Name: &name,
  67. }
  68. web.SetForm(ctx, &opts)
  69. Edit(ctx)
  70. assert.Equal(t, http.StatusOK, ctx.Resp.WrittenStatus())
  71. unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{
  72. ID: 1,
  73. }, unittest.Cond("name = ?", opts.Name))
  74. }