Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avar@gitlab.com>2020-11-26 20:31:00 +0300
committerÆvar Arnfjörð Bjarmason <avar@gitlab.com>2020-11-26 20:31:00 +0300
commitfcc9c7a62317a7ae4ccec121be7f0679a8478238 (patch)
tree58c101d2f19ad06b7b5c7a9f7e09fb4abebce546
parent60a3e378367a9a51451f72a1ba37be7f820bbdfe (diff)
parentf1948578f6a4eb3658bd54819124d369cc5abf10 (diff)
Merge branch 'avar/test-both-branch-and-tag-creation-and-deletion-with-hooks' into 'master'
updateReferenceWithHooks: test both branch/tag creation and deletion See merge request gitlab-org/gitaly!2840
-rw-r--r--internal/gitaly/service/operations/branches_test.go21
-rw-r--r--internal/gitaly/service/operations/tags_test.go24
2 files changed, 36 insertions, 9 deletions
diff --git a/internal/gitaly/service/operations/branches_test.go b/internal/gitaly/service/operations/branches_test.go
index 7ba048958..bff46b79a 100644
--- a/internal/gitaly/service/operations/branches_test.go
+++ b/internal/gitaly/service/operations/branches_test.go
@@ -573,20 +573,33 @@ func testBranchHookOutput(t *testing.T, ctx context.Context) {
for _, hookName := range gitlabPreHooks {
for _, testCase := range testCases {
t.Run(hookName+"/"+testCase.desc, func(t *testing.T) {
- request := &gitalypb.UserCreateBranchRequest{
+ branchNameInput := "some-branch"
+ createRequest := &gitalypb.UserCreateBranchRequest{
Repository: testRepo,
- BranchName: []byte("some-branch"),
+ BranchName: []byte(branchNameInput),
StartPoint: []byte("master"),
User: testhelper.TestUser,
}
+ deleteRequest := &gitalypb.UserDeleteBranchRequest{
+ Repository: testRepo,
+ BranchName: []byte(branchNameInput),
+ User: testhelper.TestUser,
+ }
remove, err := testhelper.WriteCustomHook(testRepoPath, hookName, []byte(testCase.hookContent))
require.NoError(t, err)
defer remove()
- response, err := client.UserCreateBranch(ctx, request)
+ createResponse, err := client.UserCreateBranch(ctx, createRequest)
+ require.NoError(t, err)
+ require.Equal(t, testCase.output, createResponse.PreReceiveError)
+
+ testhelper.MustRunCommand(t, nil, "git", "-C", testRepoPath, "branch", branchNameInput)
+ defer exec.Command(command.GitPath(), "-C", testRepoPath, "branch", "-d", branchNameInput).Run()
+
+ deleteResponse, err := client.UserDeleteBranch(ctx, deleteRequest)
require.NoError(t, err)
- require.Equal(t, testCase.output, response.PreReceiveError)
+ require.Equal(t, testCase.output, deleteResponse.PreReceiveError)
})
}
}
diff --git a/internal/gitaly/service/operations/tags_test.go b/internal/gitaly/service/operations/tags_test.go
index 3fbb41944..5fe772e17 100644
--- a/internal/gitaly/service/operations/tags_test.go
+++ b/internal/gitaly/service/operations/tags_test.go
@@ -555,12 +555,18 @@ func TestTagHookOutput(t *testing.T) {
for _, hookName := range gitlabPreHooks {
for _, testCase := range testCases {
t.Run(hookName+"/"+testCase.desc, func(t *testing.T) {
- request := &gitalypb.UserCreateTagRequest{
+ tagNameInput := "some-tag"
+ createRequest := &gitalypb.UserCreateTagRequest{
Repository: testRepo,
- TagName: []byte("some-tag"),
+ TagName: []byte(tagNameInput),
TargetRevision: []byte("master"),
User: testhelper.TestUser,
}
+ deleteRequest := &gitalypb.UserDeleteTagRequest{
+ Repository: testRepo,
+ TagName: []byte(tagNameInput),
+ User: testhelper.TestUser,
+ }
ctx, cancel := testhelper.Context()
defer cancel()
@@ -569,10 +575,18 @@ func TestTagHookOutput(t *testing.T) {
require.NoError(t, err)
defer remove()
- response, err := client.UserCreateTag(ctx, request)
+ createResponse, err := client.UserCreateTag(ctx, createRequest)
require.NoError(t, err)
- require.Equal(t, false, response.Exists)
- require.Equal(t, testCase.output, response.PreReceiveError)
+ require.False(t, createResponse.Exists)
+ require.Equal(t, testCase.output, createResponse.PreReceiveError)
+
+ defer exec.Command(command.GitPath(), "-C", testRepoPath, "tag", "-d", tagNameInput).Run()
+ testhelper.MustRunCommand(t, nil, "git", "-C", testRepoPath, "tag", tagNameInput)
+
+ deleteResponse, err := client.UserDeleteTag(ctx, deleteRequest)
+ require.NoError(t, err)
+
+ require.Equal(t, testCase.output, deleteResponse.PreReceiveError)
})
}
}