diff options
author | Terence Le Huu Phuong <32878496+tle-huu@users.noreply.github.com> | 2020-05-29 20:16:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-29 19:16:20 +0100 |
commit | 141d52cc0f356776bd6fa538dbda276c3ba44118 (patch) | |
tree | 103a5fe90e0bb23134e49bf784d566e6f9968728 /integrations/integration_test.go | |
parent | f36104e410b3ed6b269d3b8ffb7f5247125171b6 (diff) | |
download | gitea-141d52cc0f356776bd6fa538dbda276c3ba44118.tar.gz gitea-141d52cc0f356776bd6fa538dbda276c3ba44118.zip |
Add API Endpoint for Branch Creation (#11607)
* [FEATURE] [API] Add Endpoint for Branch Creation
Issue: https://github.com/go-gitea/gitea/issues/11376
This commit introduces an API endpoint for branch creation.
The added route is POST /repos/{owner}/{repo}/branches.
A JSON with the name of the new branch and the name of the old branch is
required as parameters.
Signed-off-by: Terence Le Huu Phuong <terence@qwasar.io>
* Put all the logic into CreateBranch and removed CreateRepoBranch
* - Added the error ErrBranchDoesNotExist in error.go
- Made the CreateNewBranch function return an errBranchDoesNotExist error
when the OldBranch does not exist
- Made the CreateBranch API function checks that the repository is not
empty and that branch exists.
* - Added a resetFixtures helper function in integration_test.go to
fine-tune test env resetting
- Added api test for CreateBranch
- Used resetFixture instead of the more general prepareTestEnv in the
repo_branch_test CreateBranch tests
* Moved the resetFixtures call inside the loop for APICreateBranch function
* Put the prepareTestEnv back in repo_branch_test
* fix import order/sort api branch test
Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'integrations/integration_test.go')
-rw-r--r-- | integrations/integration_test.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/integrations/integration_test.go b/integrations/integration_test.go index c6a4169751..3c0125af6c 100644 --- a/integrations/integration_test.go +++ b/integrations/integration_test.go @@ -26,6 +26,7 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/graceful" + "code.gitea.io/gitea/modules/queue" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/routers" "code.gitea.io/gitea/routers/routes" @@ -459,3 +460,14 @@ func GetCSRF(t testing.TB, session *TestSession, urlStr string) string { doc := NewHTMLParser(t, resp.Body) return doc.GetCSRF() } + +// resetFixtures flushes queues, reloads fixtures and resets test repositories within a single test. +// Most tests should call defer prepareTestEnv(t)() (or have onGiteaRun do that for them) but sometimes +// within a single test this is required +func resetFixtures(t *testing.T) { + assert.NoError(t, queue.GetManager().FlushAll(context.Background(), -1)) + assert.NoError(t, models.LoadFixtures()) + assert.NoError(t, os.RemoveAll(setting.RepoRootPath)) + assert.NoError(t, com.CopyDir(path.Join(filepath.Dir(setting.AppPath), "integrations/gitea-repositories-meta"), + setting.RepoRootPath)) +} |