test-sha256: APICreateFile
This commit is contained in:
		
					parent
					
						
							
								df8aaeb1d5
							
						
					
				
			
			
				commit
				
					
						67effd6985
					
				
			
		
					 1 changed files with 30 additions and 23 deletions
				
			
		| 
						 | 
					@ -53,6 +53,10 @@ func getCreateFileOptions() api.CreateFileOptions {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getExpectedFileResponseForCreate(repoFullName, commitID, treePath, latestCommitSHA string) *api.FileResponse {
 | 
					func getExpectedFileResponseForCreate(repoFullName, commitID, treePath, latestCommitSHA string) *api.FileResponse {
 | 
				
			||||||
	sha := "a635aa942442ddfdba07468cf9661c08fbdf0ebf"
 | 
						sha := "a635aa942442ddfdba07468cf9661c08fbdf0ebf"
 | 
				
			||||||
 | 
						if len(latestCommitSHA) > len(sha) {
 | 
				
			||||||
 | 
							// repository is in SHA256 format
 | 
				
			||||||
 | 
							sha = "3edd190f61237b7a0a5c49aa47fb58b2ec14d53a2afc90803bc713fab5d5aec0"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	encoding := "base64"
 | 
						encoding := "base64"
 | 
				
			||||||
	content := "VGhpcyBpcyBuZXcgdGV4dA=="
 | 
						content := "VGhpcyBpcyBuZXcgdGV4dA=="
 | 
				
			||||||
	selfURL := setting.AppURL + "api/v1/repos/" + repoFullName + "/contents/" + treePath + "?ref=master"
 | 
						selfURL := setting.AppURL + "api/v1/repos/" + repoFullName + "/contents/" + treePath + "?ref=master"
 | 
				
			||||||
| 
						 | 
					@ -278,18 +282,20 @@ func TestAPICreateFile(t *testing.T) {
 | 
				
			||||||
		MakeRequest(t, req, http.StatusForbidden)
 | 
							MakeRequest(t, req, http.StatusForbidden)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Test creating a file in an empty repository
 | 
							// Test creating a file in an empty repository
 | 
				
			||||||
		doAPICreateRepository(NewAPITestContext(t, "user2", "empty-repo", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser), true, git.Sha1ObjectFormat)(t) // FIXME: use forEachObjectFormat
 | 
							forEachObjectFormat(t, func(t *testing.T, objectFormat git.ObjectFormat) {
 | 
				
			||||||
 | 
								reponame := "empty-repo-" + objectFormat.Name()
 | 
				
			||||||
 | 
								doAPICreateRepository(NewAPITestContext(t, "user2", reponame, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser), true, objectFormat)(t)
 | 
				
			||||||
			createFileOptions = getCreateFileOptions()
 | 
								createFileOptions = getCreateFileOptions()
 | 
				
			||||||
			fileID++
 | 
								fileID++
 | 
				
			||||||
			treePath = fmt.Sprintf("new/file%d.txt", fileID)
 | 
								treePath = fmt.Sprintf("new/file%d.txt", fileID)
 | 
				
			||||||
		req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, "empty-repo", treePath), &createFileOptions).
 | 
								req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, reponame, treePath), &createFileOptions).
 | 
				
			||||||
				AddTokenAuth(token2)
 | 
									AddTokenAuth(token2)
 | 
				
			||||||
			resp = MakeRequest(t, req, http.StatusCreated)
 | 
								resp = MakeRequest(t, req, http.StatusCreated)
 | 
				
			||||||
		emptyRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "empty-repo"}) // public repo
 | 
								emptyRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: reponame}) // public repo
 | 
				
			||||||
			gitRepo, _ := gitrepo.OpenRepository(stdCtx.Background(), emptyRepo)
 | 
								gitRepo, _ := gitrepo.OpenRepository(stdCtx.Background(), emptyRepo)
 | 
				
			||||||
			commitID, _ := gitRepo.GetBranchCommitID(createFileOptions.NewBranchName)
 | 
								commitID, _ := gitRepo.GetBranchCommitID(createFileOptions.NewBranchName)
 | 
				
			||||||
			latestCommit, _ := gitRepo.GetCommitByPath(treePath)
 | 
								latestCommit, _ := gitRepo.GetCommitByPath(treePath)
 | 
				
			||||||
		expectedFileResponse := getExpectedFileResponseForCreate("user2/empty-repo", commitID, treePath, latestCommit.ID.String())
 | 
								expectedFileResponse := getExpectedFileResponseForCreate("user2/"+reponame, commitID, treePath, latestCommit.ID.String())
 | 
				
			||||||
			DecodeJSON(t, resp, &fileResponse)
 | 
								DecodeJSON(t, resp, &fileResponse)
 | 
				
			||||||
			assert.EqualValues(t, expectedFileResponse.Content, fileResponse.Content)
 | 
								assert.EqualValues(t, expectedFileResponse.Content, fileResponse.Content)
 | 
				
			||||||
			assert.EqualValues(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA)
 | 
								assert.EqualValues(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA)
 | 
				
			||||||
| 
						 | 
					@ -302,4 +308,5 @@ func TestAPICreateFile(t *testing.T) {
 | 
				
			||||||
			assert.EqualValues(t, expectedFileResponse.Commit.Committer.Date, fileResponse.Commit.Committer.Date)
 | 
								assert.EqualValues(t, expectedFileResponse.Commit.Committer.Date, fileResponse.Commit.Committer.Date)
 | 
				
			||||||
			gitRepo.Close()
 | 
								gitRepo.Close()
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue