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:
authorAhmad Sherif <me@ahmadsherif.com>2017-09-26 12:11:53 +0300
committerAhmad Sherif <me@ahmadsherif.com>2017-09-27 13:24:01 +0300
commitc2779a8eeeedaf2fb1b06fb3166ca1752fa575f5 (patch)
treeef3c07af5c97e23ba067bcb0ee11c58964b07ace
parent0ef3e9dda21f7af7f0d282c5ffd92ca71f576650 (diff)
Return pre-receive errors in UserDeleteTag response
-rw-r--r--CHANGELOG.md2
-rw-r--r--internal/service/operations/tags_test.go7
-rw-r--r--ruby/lib/gitaly_server/operations_service.rb2
3 files changed, 7 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ce76245be..d3ff52dab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@ UNRELEASED
- Implement UserCreateTag RPC
https://gitlab.com/gitlab-org/gitaly/merge_requests/374
+- Return pre-receive errors in UserDeleteTag response
+ https://gitlab.com/gitlab-org/gitaly/merge_requests/378
v0.41.0
diff --git a/internal/service/operations/tags_test.go b/internal/service/operations/tags_test.go
index 075d03aea..a59180af4 100644
--- a/internal/service/operations/tags_test.go
+++ b/internal/service/operations/tags_test.go
@@ -291,7 +291,7 @@ func TestFailedUserDeleteTagDueToHooks(t *testing.T) {
User: user,
}
- hookContent := []byte("#!/bin/false")
+ hookContent := []byte("#!/bin/sh\necho GL_ID=$GL_ID\nexit 1")
for _, hookName := range []string{"pre-receive", "update"} {
t.Run(hookName, func(t *testing.T) {
@@ -302,8 +302,9 @@ func TestFailedUserDeleteTagDueToHooks(t *testing.T) {
ctx, cancel := testhelper.Context()
defer cancel()
- _, err := client.UserDeleteTag(ctx, request)
- testhelper.AssertGrpcError(t, err, codes.FailedPrecondition, "")
+ response, err := client.UserDeleteTag(ctx, request)
+ require.Nil(t, err)
+ require.Contains(t, response.PreReceiveError, "GL_ID="+user.GlId)
tags := testhelper.MustRunCommand(t, nil, "git", "-C", testRepoPath, "tag")
require.Contains(t, string(tags), tagNameInput, "tag name does not exist in tags list")
diff --git a/ruby/lib/gitaly_server/operations_service.rb b/ruby/lib/gitaly_server/operations_service.rb
index 20918dbfd..1e9522f26 100644
--- a/ruby/lib/gitaly_server/operations_service.rb
+++ b/ruby/lib/gitaly_server/operations_service.rb
@@ -50,7 +50,7 @@ module GitalyServer
Gitaly::UserDeleteTagResponse.new
rescue Gitlab::Git::HooksService::PreReceiveError => e
- raise GRPC::FailedPrecondition.new(e.to_s)
+ Gitaly::UserDeleteTagResponse.new(pre_receive_error: e.message)
end
def user_create_branch(request, call)