Skip to content

Commit 003d7a4

Browse files
committed
add more test cases to cover different compare patterns
1 parent e85624a commit 003d7a4

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

0 commit comments

Comments
 (0)