diff options
author | Richard Mahn <richmahn@users.noreply.github.com> | 2019-05-30 11:09:05 -0400 |
---|---|---|
committer | techknowlogick <hello@techknowlogick.com> | 2019-05-30 11:09:05 -0400 |
commit | 1831b3b57144e87ccfc4f6322eefc88a49b2300e (patch) | |
tree | 225fa569e3908c153683009d0d75c42f9dacc956 /routers/api/v1/repo/repo_test.go | |
parent | cdd10f145be0b5e9b94c19f1303dc01c6e9c8c29 (diff) | |
download | gitea-1831b3b57144e87ccfc4f6322eefc88a49b2300e.tar.gz gitea-1831b3b57144e87ccfc4f6322eefc88a49b2300e.zip |
Fixes #5960 - Adds API Endpoint for Repo Edit (#7006)
* Feature - #5960 - API Endpoint for Repo Editing
* Revert from merge
* Adds integration testing
* Updates to integration tests
* Revert changes
* Update year in file header
* Misspell fix
* XORM = test
* XORM = test
* revert XORM = file
* Makes RepoUnit.ID be pk and autoincr
* Fix to units
* revert header
* Remove print statement
* Adds other responses
* Improves swagger for creating repo
* Fixes import order
* Better Unit Type does not exist error
* Adds editable repo properties to the response repo structure
* Fix to api_repo_edit_test.go
* Fixes repo test
* Changes per review
* Fixes typo and standardizes comments in the EditRepoOption struct for swagger
* Fixes typo and standardizes comments in the EditRepoOption struct for swagger
* Actually can unarchive through the API
* Unlike delete, user doesn't have to be the owner of the org, just admin to the repo
* Fix to swagger comments for field name change
* Update to swagger docs
* Update swagger
* Changes allow_pull_requests to has_pull_requests
Diffstat (limited to 'routers/api/v1/repo/repo_test.go')
-rw-r--r-- | routers/api/v1/repo/repo_test.go | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/routers/api/v1/repo/repo_test.go b/routers/api/v1/repo/repo_test.go new file mode 100644 index 0000000000..053134ec61 --- /dev/null +++ b/routers/api/v1/repo/repo_test.go @@ -0,0 +1,82 @@ +// Copyright 2019 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package repo + +import ( + "net/http" + "testing" + + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/context" + api "code.gitea.io/gitea/modules/structs" + "code.gitea.io/gitea/modules/test" + + "github.com/stretchr/testify/assert" +) + +func TestRepoEdit(t *testing.T) { + models.PrepareTestEnv(t) + + ctx := test.MockContext(t, "user2/repo1") + test.LoadRepo(t, ctx, 1) + test.LoadUser(t, ctx, 2) + ctx.Repo.Owner = ctx.User + description := "new description" + website := "http://wwww.newwebsite.com" + private := true + hasIssues := false + hasWiki := false + defaultBranch := "master" + hasPullRequests := true + ignoreWhitespaceConflicts := true + allowMerge := false + allowRebase := false + allowRebaseMerge := false + allowSquashMerge := false + archived := true + opts := api.EditRepoOption{ + Name: &ctx.Repo.Repository.Name, + Description: &description, + Website: &website, + Private: &private, + HasIssues: &hasIssues, + HasWiki: &hasWiki, + DefaultBranch: &defaultBranch, + HasPullRequests: &hasPullRequests, + IgnoreWhitespaceConflicts: &ignoreWhitespaceConflicts, + AllowMerge: &allowMerge, + AllowRebase: &allowRebase, + AllowRebaseMerge: &allowRebaseMerge, + AllowSquash: &allowSquashMerge, + Archived: &archived, + } + + Edit(&context.APIContext{Context: ctx, Org: nil}, opts) + + assert.EqualValues(t, http.StatusOK, ctx.Resp.Status()) + models.AssertExistsAndLoadBean(t, &models.Repository{ + ID: 1, + }, models.Cond("name = ? AND is_archived = 1", *opts.Name)) +} + +func TestRepoEditNameChange(t *testing.T) { + models.PrepareTestEnv(t) + + ctx := test.MockContext(t, "user2/repo1") + test.LoadRepo(t, ctx, 1) + test.LoadUser(t, ctx, 2) + ctx.Repo.Owner = ctx.User + name := "newname" + opts := api.EditRepoOption{ + Name: &name, + } + + Edit(&context.APIContext{Context: ctx, Org: nil}, opts) + assert.EqualValues(t, http.StatusOK, ctx.Resp.Status()) + + models.AssertExistsAndLoadBean(t, &models.Repository{ + ID: 1, + }, models.Cond("name = ?", opts.Name)) +} |