|
|
@@ -5,9 +5,9 @@ |
|
|
|
package integrations |
|
|
|
|
|
|
|
import ( |
|
|
|
"crypto/rand" |
|
|
|
"fmt" |
|
|
|
"io/ioutil" |
|
|
|
"math/rand" |
|
|
|
"net/http" |
|
|
|
"net/url" |
|
|
|
"os" |
|
|
@@ -70,6 +70,7 @@ func testGit(t *testing.T, u *url.URL) { |
|
|
|
|
|
|
|
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&httpContext, dstPath)) |
|
|
|
t.Run("MergeFork", func(t *testing.T) { |
|
|
|
defer PrintCurrentTest(t)() |
|
|
|
t.Run("CreatePRAndMerge", doMergeFork(httpContext, forkedUserCtx, "master", httpContext.Username+":master")) |
|
|
|
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS) |
|
|
|
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS) |
|
|
@@ -109,6 +110,7 @@ func testGit(t *testing.T, u *url.URL) { |
|
|
|
|
|
|
|
t.Run("BranchProtectMerge", doBranchProtectPRMerge(&sshContext, dstPath)) |
|
|
|
t.Run("MergeFork", func(t *testing.T) { |
|
|
|
defer PrintCurrentTest(t)() |
|
|
|
t.Run("CreatePRAndMerge", doMergeFork(sshContext, forkedUserCtx, "master", sshContext.Username+":master")) |
|
|
|
rawTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS) |
|
|
|
mediaTest(t, &forkedUserCtx, little, big, littleLFS, bigLFS) |
|
|
@@ -291,17 +293,34 @@ func doCommitAndPush(t *testing.T, size int, repoPath, prefix string) string { |
|
|
|
|
|
|
|
func generateCommitWithNewData(size int, repoPath, email, fullName, prefix string) (string, error) { |
|
|
|
//Generate random file |
|
|
|
data := make([]byte, size) |
|
|
|
_, err := rand.Read(data) |
|
|
|
if err != nil { |
|
|
|
return "", err |
|
|
|
bufSize := 4 * 1024 |
|
|
|
if bufSize > size { |
|
|
|
bufSize = size |
|
|
|
} |
|
|
|
|
|
|
|
buffer := make([]byte, bufSize) |
|
|
|
|
|
|
|
tmpFile, err := ioutil.TempFile(repoPath, prefix) |
|
|
|
if err != nil { |
|
|
|
return "", err |
|
|
|
} |
|
|
|
defer tmpFile.Close() |
|
|
|
_, err = tmpFile.Write(data) |
|
|
|
written := 0 |
|
|
|
for written < size { |
|
|
|
n := size - written |
|
|
|
if n > bufSize { |
|
|
|
n = bufSize |
|
|
|
} |
|
|
|
_, err := rand.Read(buffer[:n]) |
|
|
|
if err != nil { |
|
|
|
return "", err |
|
|
|
} |
|
|
|
n, err = tmpFile.Write(buffer[:n]) |
|
|
|
if err != nil { |
|
|
|
return "", err |
|
|
|
} |
|
|
|
written += n |
|
|
|
} |
|
|
|
if err != nil { |
|
|
|
return "", err |
|
|
|
} |
|
|
@@ -411,6 +430,7 @@ func doProtectBranch(ctx APITestContext, branch string, userToWhitelist string) |
|
|
|
|
|
|
|
func doMergeFork(ctx, baseCtx APITestContext, baseBranch, headBranch string) func(t *testing.T) { |
|
|
|
return func(t *testing.T) { |
|
|
|
defer PrintCurrentTest(t)() |
|
|
|
var pr api.PullRequest |
|
|
|
var err error |
|
|
|
t.Run("CreatePullRequest", func(t *testing.T) { |
|
|
@@ -485,9 +505,6 @@ func doPushCreate(ctx APITestContext, u *url.URL) func(t *testing.T) { |
|
|
|
tmpDir, err := ioutil.TempDir("", ctx.Reponame) |
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
_, err = git.NewCommand("clone", u.String()).RunInDir(tmpDir) |
|
|
|
assert.Error(t, err) |
|
|
|
|
|
|
|
err = git.InitRepository(tmpDir, false) |
|
|
|
assert.NoError(t, err) |
|
|
|
|