mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	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>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							f36104e410
						
					
				
				
					commit
					141d52cc0f
				
			| @@ -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)) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user