Skip to content

Commit 2905d35

Browse files
committed
add more test cases to cover different compare patterns
1 parent e9fac73 commit 2905d35

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

tests/integration/compare_test.go

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,3 +256,105 @@ index %s..%s 100644
256256
assert.Equal(t, expected, resp.Body.String())
257257
})
258258
}
259+
260+
func TestCompareRawDiffNormalSameOwnerDifferentRepo(t *testing.T) {
261+
onGiteaRun(t, func(t *testing.T, u *url.URL) {
262+
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
263+
repo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
264+
Name: "test_raw_diff",
265+
Readme: "Default",
266+
AutoInit: true,
267+
DefaultBranch: "main",
268+
}, true)
269+
assert.NoError(t, err)
270+
session := loginUser(t, user1.Name)
271+
272+
headRepo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
273+
Name: "test_raw_diff_head",
274+
Readme: "Default",
275+
AutoInit: true,
276+
DefaultBranch: "main",
277+
}, true)
278+
assert.NoError(t, err)
279+
280+
r, _ := gitrepo.OpenRepository(db.DefaultContext, repo)
281+
hr, _ := gitrepo.OpenRepository(db.DefaultContext, headRepo)
282+
283+
oldRef, _ := r.GetBranchCommit(repo.DefaultBranch)
284+
oldBlobRef, _ := r.RevParse(oldRef.ID.String(), "README.md")
285+
286+
testEditFile(t, session, user1.Name, headRepo.Name, "main", "README.md", strings.Repeat("a\n", 2))
287+
288+
newRef, _ := hr.GetBranchCommit(headRepo.DefaultBranch)
289+
newBlobRef, _ := hr.RevParse(newRef.ID.String(), "README.md")
290+
291+
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()))
292+
resp := session.MakeRequest(t, req, http.StatusOK)
293+
294+
expected := fmt.Sprintf(`diff --git a/README.md b/README.md
295+
index %s..%s 100644
296+
--- a/README.md
297+
+++ b/README.md
298+
@@ -1,2 +1,2 @@
299+
-# test_raw_diff
300+
-
301+
+a
302+
+a
303+
`, oldBlobRef[:7], newBlobRef[:7])
304+
assert.Equal(t, expected, resp.Body.String())
305+
})
306+
}
307+
308+
func TestCompareRawDiffNormalAcrossForks(t *testing.T) {
309+
onGiteaRun(t, func(t *testing.T, u *url.URL) {
310+
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
311+
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
312+
313+
repo, err := repo_service.CreateRepositoryDirectly(db.DefaultContext, user1, user1, repo_service.CreateRepoOptions{
314+
Name: "test_raw_diff",
315+
Readme: "Default",
316+
AutoInit: true,
317+
DefaultBranch: "main",
318+
}, true)
319+
assert.NoError(t, err)
320+
321+
headRepo, err := repo_service.ForkRepository(db.DefaultContext, user2, user2, repo_service.ForkRepoOptions{
322+
BaseRepo: repo,
323+
Name: repo.Name,
324+
Description: repo.Description,
325+
SingleBranch: "",
326+
})
327+
assert.NoError(t, err)
328+
329+
session := loginUser(t, user2.Name)
330+
331+
r, _ := gitrepo.OpenRepository(db.DefaultContext, repo)
332+
hr, _ := gitrepo.OpenRepository(db.DefaultContext, headRepo)
333+
334+
oldRef, _ := r.GetBranchCommit(repo.DefaultBranch)
335+
oldBlobRef, _ := r.RevParse(oldRef.ID.String(), "README.md")
336+
337+
testEditFile(t, session, user2.Name, headRepo.Name, "main", "README.md", strings.Repeat("a\n", 2))
338+
session = loginUser(t, user1.Name)
339+
340+
newRef, _ := hr.GetBranchCommit(headRepo.DefaultBranch)
341+
newBlobRef, _ := hr.RevParse(newRef.ID.String(), "README.md")
342+
343+
session = loginUser(t, user1.Name)
344+
345+
req := NewRequest(t, "GET", fmt.Sprintf("/user1/test_raw_diff/compare/%s...%s:%s.diff", oldRef.ID.String(), user2.LowerName, newRef.ID.String()))
346+
resp := session.MakeRequest(t, req, http.StatusOK)
347+
348+
expected := fmt.Sprintf(`diff --git a/README.md b/README.md
349+
index %s..%s 100644
350+
--- a/README.md
351+
+++ b/README.md
352+
@@ -1,2 +1,2 @@
353+
-# test_raw_diff
354+
-
355+
+a
356+
+a
357+
`, oldBlobRef[:7], newBlobRef[:7])
358+
assert.Equal(t, expected, resp.Body.String())
359+
})
360+
}

0 commit comments

Comments
 (0)