mirror of
https://github.com/go-gitea/gitea.git
synced 2025-08-14 01:05:36 +00:00
add more test cases to cover different compare patterns
This commit is contained in:
parent
e9fac73bcf
commit
2905d354fc
@ -256,3 +256,105 @@ index %s..%s 100644
|
|||||||
assert.Equal(t, expected, resp.Body.String())
|
assert.Equal(t, expected, resp.Body.String())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCompareRawDiffNormalSameOwnerDifferentRepo(t *testing.T) {
|
||||||
|
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||||
|
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||||
|
repo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
|
||||||
|
Name: "test_raw_diff",
|
||||||
|
Readme: "Default",
|
||||||
|
AutoInit: true,
|
||||||
|
DefaultBranch: "main",
|
||||||
|
}, true)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
session := loginUser(t, user1.Name)
|
||||||
|
|
||||||
|
headRepo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
|
||||||
|
Name: "test_raw_diff_head",
|
||||||
|
Readme: "Default",
|
||||||
|
AutoInit: true,
|
||||||
|
DefaultBranch: "main",
|
||||||
|
}, true)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
r, _ := gitrepo.OpenRepository(db.DefaultContext, repo)
|
||||||
|
hr, _ := gitrepo.OpenRepository(db.DefaultContext, headRepo)
|
||||||
|
|
||||||
|
oldRef, _ := r.GetBranchCommit(repo.DefaultBranch)
|
||||||
|
oldBlobRef, _ := r.RevParse(oldRef.ID.String(), "README.md")
|
||||||
|
|
||||||
|
testEditFile(t, session, user1.Name, headRepo.Name, "main", "README.md", strings.Repeat("a\n", 2))
|
||||||
|
|
||||||
|
newRef, _ := hr.GetBranchCommit(headRepo.DefaultBranch)
|
||||||
|
newBlobRef, _ := hr.RevParse(newRef.ID.String(), "README.md")
|
||||||
|
|
||||||
|
req := NewRequest(t, "GET", fmt.Sprintf("/user1/test_raw_diff/compare/%s...%s/%s:%s.diff", oldRef.ID.String(), user1.LowerName, headRepo.LowerName, newRef.ID.String()))
|
||||||
|
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
|
expected := fmt.Sprintf(`diff --git a/README.md b/README.md
|
||||||
|
index %s..%s 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -1,2 +1,2 @@
|
||||||
|
-# test_raw_diff
|
||||||
|
-
|
||||||
|
+a
|
||||||
|
+a
|
||||||
|
`, oldBlobRef[:7], newBlobRef[:7])
|
||||||
|
assert.Equal(t, expected, resp.Body.String())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCompareRawDiffNormalAcrossForks(t *testing.T) {
|
||||||
|
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||||
|
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||||
|
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
||||||
|
|
||||||
|
repo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
|
||||||
|
Name: "test_raw_diff",
|
||||||
|
Readme: "Default",
|
||||||
|
AutoInit: true,
|
||||||
|
DefaultBranch: "main",
|
||||||
|
}, true)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
headRepo, err := repo_service.ForkRepository(db.DefaultContext, user2, user2, repo_service.ForkRepoOptions{
|
||||||
|
BaseRepo: repo,
|
||||||
|
Name: repo.Name,
|
||||||
|
Description: repo.Description,
|
||||||
|
SingleBranch: "",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
session := loginUser(t, user2.Name)
|
||||||
|
|
||||||
|
r, _ := gitrepo.OpenRepository(db.DefaultContext, repo)
|
||||||
|
hr, _ := gitrepo.OpenRepository(db.DefaultContext, headRepo)
|
||||||
|
|
||||||
|
oldRef, _ := r.GetBranchCommit(repo.DefaultBranch)
|
||||||
|
oldBlobRef, _ := r.RevParse(oldRef.ID.String(), "README.md")
|
||||||
|
|
||||||
|
testEditFile(t, session, user2.Name, headRepo.Name, "main", "README.md", strings.Repeat("a\n", 2))
|
||||||
|
session = loginUser(t, user1.Name)
|
||||||
|
|
||||||
|
newRef, _ := hr.GetBranchCommit(headRepo.DefaultBranch)
|
||||||
|
newBlobRef, _ := hr.RevParse(newRef.ID.String(), "README.md")
|
||||||
|
|
||||||
|
session = loginUser(t, user1.Name)
|
||||||
|
|
||||||
|
req := NewRequest(t, "GET", fmt.Sprintf("/user1/test_raw_diff/compare/%s...%s:%s.diff", oldRef.ID.String(), user2.LowerName, newRef.ID.String()))
|
||||||
|
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
|
expected := fmt.Sprintf(`diff --git a/README.md b/README.md
|
||||||
|
index %s..%s 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -1,2 +1,2 @@
|
||||||
|
-# test_raw_diff
|
||||||
|
-
|
||||||
|
+a
|
||||||
|
+a
|
||||||
|
`, oldBlobRef[:7], newBlobRef[:7])
|
||||||
|
assert.Equal(t, expected, resp.Body.String())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user