|
|
@ -208,13 +208,13 @@ func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS s |
|
|
|
|
|
|
|
|
|
|
|
// Request raw paths
|
|
|
|
// Request raw paths
|
|
|
|
req := NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", little)) |
|
|
|
req := NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", little)) |
|
|
|
resp := session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := session.MakeRequestNilResponseRecorder(t, req, http.StatusOK) |
|
|
|
assert.Equal(t, littleSize, resp.Body.Len()) |
|
|
|
assert.Equal(t, littleSize, resp.Length) |
|
|
|
|
|
|
|
|
|
|
|
setting.CheckLFSVersion() |
|
|
|
setting.CheckLFSVersion() |
|
|
|
if setting.LFS.StartServer { |
|
|
|
if setting.LFS.StartServer { |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", littleLFS)) |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", littleLFS)) |
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := session.MakeRequest(t, req, http.StatusOK) |
|
|
|
assert.NotEqual(t, littleSize, resp.Body.Len()) |
|
|
|
assert.NotEqual(t, littleSize, resp.Body.Len()) |
|
|
|
assert.LessOrEqual(t, resp.Body.Len(), 1024) |
|
|
|
assert.LessOrEqual(t, resp.Body.Len(), 1024) |
|
|
|
if resp.Body.Len() != littleSize && resp.Body.Len() <= 1024 { |
|
|
|
if resp.Body.Len() != littleSize && resp.Body.Len() <= 1024 { |
|
|
@ -224,12 +224,12 @@ func rawTest(t *testing.T, ctx *APITestContext, little, big, littleLFS, bigLFS s |
|
|
|
|
|
|
|
|
|
|
|
if !testing.Short() { |
|
|
|
if !testing.Short() { |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", big)) |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", big)) |
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := session.MakeRequestNilResponseRecorder(t, req, http.StatusOK) |
|
|
|
assert.Equal(t, bigSize, resp.Body.Len()) |
|
|
|
assert.Equal(t, bigSize, resp.Length) |
|
|
|
|
|
|
|
|
|
|
|
if setting.LFS.StartServer { |
|
|
|
if setting.LFS.StartServer { |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", bigLFS)) |
|
|
|
req = NewRequest(t, "GET", path.Join("/", username, reponame, "/raw/branch/master/", bigLFS)) |
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := session.MakeRequest(t, req, http.StatusOK) |
|
|
|
assert.NotEqual(t, bigSize, resp.Body.Len()) |
|
|
|
assert.NotEqual(t, bigSize, resp.Body.Len()) |
|
|
|
if resp.Body.Len() != bigSize && resp.Body.Len() <= 1024 { |
|
|
|
if resp.Body.Len() != bigSize && resp.Body.Len() <= 1024 { |
|
|
|
assert.Contains(t, resp.Body.String(), models.LFSMetaFileIdentifier) |
|
|
|
assert.Contains(t, resp.Body.String(), models.LFSMetaFileIdentifier) |
|
|
@ -450,27 +450,27 @@ func doMergeFork(ctx, baseCtx APITestContext, baseBranch, headBranch string) fun |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
|
|
|
|
|
|
|
|
// Then get the diff string
|
|
|
|
// Then get the diff string
|
|
|
|
var diffStr string |
|
|
|
var diffHash string |
|
|
|
t.Run("GetDiff", func(t *testing.T) { |
|
|
|
t.Run("GetDiff", func(t *testing.T) { |
|
|
|
req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s/pulls/%d.diff", url.PathEscape(baseCtx.Username), url.PathEscape(baseCtx.Reponame), pr.Index)) |
|
|
|
req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s/pulls/%d.diff", url.PathEscape(baseCtx.Username), url.PathEscape(baseCtx.Reponame), pr.Index)) |
|
|
|
resp := ctx.Session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := ctx.Session.MakeRequestNilResponseHashSumRecorder(t, req, http.StatusOK) |
|
|
|
diffStr = resp.Body.String() |
|
|
|
diffHash = string(resp.Hash.Sum(nil)) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// Now: Merge the PR & make sure that doesn't break the PR page or change its diff
|
|
|
|
// Now: Merge the PR & make sure that doesn't break the PR page or change its diff
|
|
|
|
t.Run("MergePR", doAPIMergePullRequest(baseCtx, baseCtx.Username, baseCtx.Reponame, pr.Index)) |
|
|
|
t.Run("MergePR", doAPIMergePullRequest(baseCtx, baseCtx.Username, baseCtx.Reponame, pr.Index)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffStr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffHash)) |
|
|
|
|
|
|
|
|
|
|
|
// Then: Delete the head branch & make sure that doesn't break the PR page or change its diff
|
|
|
|
// Then: Delete the head branch & make sure that doesn't break the PR page or change its diff
|
|
|
|
t.Run("DeleteHeadBranch", doBranchDelete(baseCtx, baseCtx.Username, baseCtx.Reponame, headBranch)) |
|
|
|
t.Run("DeleteHeadBranch", doBranchDelete(baseCtx, baseCtx.Username, baseCtx.Reponame, headBranch)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffStr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffHash)) |
|
|
|
|
|
|
|
|
|
|
|
// Delete the head repository & make sure that doesn't break the PR page or change its diff
|
|
|
|
// Delete the head repository & make sure that doesn't break the PR page or change its diff
|
|
|
|
t.Run("DeleteHeadRepository", doAPIDeleteRepository(ctx)) |
|
|
|
t.Run("DeleteHeadRepository", doAPIDeleteRepository(ctx)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureCanSeePull", doEnsureCanSeePull(baseCtx, pr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffStr)) |
|
|
|
t.Run("EnsureDiffNoChange", doEnsureDiffNoChange(baseCtx, pr, diffHash)) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -514,22 +514,14 @@ func doEnsureCanSeePull(ctx APITestContext, pr api.PullRequest) func(t *testing. |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func doEnsureDiffNoChange(ctx APITestContext, pr api.PullRequest, diffStr string) func(t *testing.T) { |
|
|
|
func doEnsureDiffNoChange(ctx APITestContext, pr api.PullRequest, diffHash string) func(t *testing.T) { |
|
|
|
return func(t *testing.T) { |
|
|
|
return func(t *testing.T) { |
|
|
|
req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s/pulls/%d.diff", url.PathEscape(ctx.Username), url.PathEscape(ctx.Reponame), pr.Index)) |
|
|
|
req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s/pulls/%d.diff", url.PathEscape(ctx.Username), url.PathEscape(ctx.Reponame), pr.Index)) |
|
|
|
resp := ctx.Session.MakeRequest(t, req, http.StatusOK) |
|
|
|
resp := ctx.Session.MakeRequestNilResponseHashSumRecorder(t, req, http.StatusOK) |
|
|
|
expectedMaxLen := len(diffStr) |
|
|
|
actual := string(resp.Hash.Sum(nil)) |
|
|
|
if expectedMaxLen > 800 { |
|
|
|
|
|
|
|
expectedMaxLen = 800 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
actual := resp.Body.String() |
|
|
|
|
|
|
|
actualMaxLen := len(actual) |
|
|
|
|
|
|
|
if actualMaxLen > 800 { |
|
|
|
|
|
|
|
actualMaxLen = 800 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
equal := diffStr == actual |
|
|
|
equal := diffHash == actual |
|
|
|
assert.True(t, equal, "Unexpected change in the diff string: expected: %s but was actually: %s", diffStr[:expectedMaxLen], actual[:actualMaxLen]) |
|
|
|
assert.True(t, equal, "Unexpected change in the diff string: expected hash: %s but was actually: %s", diffHash, actual) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|