Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
ea8dc107
Commit
ea8dc107
authored
6 years ago
by
Jacob Vosmaer (GitLab)
Committed by
Sean McGivern
6 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't use Gitlab::Utils.nlbr in Gitlab::Git
parent
8742af1e
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
82 additions
and
47 deletions
+82
-47
app/services/commits/create_service.rb
app/services/commits/create_service.rb
+1
-1
app/services/create_branch_service.rb
app/services/create_branch_service.rb
+1
-1
app/services/delete_branch_service.rb
app/services/delete_branch_service.rb
+1
-1
app/services/merge_requests/ff_merge_service.rb
app/services/merge_requests/ff_merge_service.rb
+1
-1
app/services/merge_requests/merge_service.rb
app/services/merge_requests/merge_service.rb
+1
-1
app/services/tags/create_service.rb
app/services/tags/create_service.rb
+1
-1
app/services/tags/destroy_service.rb
app/services/tags/destroy_service.rb
+1
-1
app/services/validate_new_branch_service.rb
app/services/validate_new_branch_service.rb
+1
-1
lib/gitlab/git/committer_with_hooks.rb
lib/gitlab/git/committer_with_hooks.rb
+1
-1
lib/gitlab/git/hook.rb
lib/gitlab/git/hook.rb
+3
-3
lib/gitlab/git/hooks_service.rb
lib/gitlab/git/hooks_service.rb
+0
-2
lib/gitlab/git/pre_receive_error.rb
lib/gitlab/git/pre_receive_error.rb
+21
-0
lib/gitlab/gitaly_client/operation_service.rb
lib/gitlab/gitaly_client/operation_service.rb
+8
-8
spec/features/tags/master_deletes_tag_spec.rb
spec/features/tags/master_deletes_tag_spec.rb
+2
-2
spec/lib/gitlab/git/hook_spec.rb
spec/lib/gitlab/git/hook_spec.rb
+16
-9
spec/lib/gitlab/git/hooks_service_spec.rb
spec/lib/gitlab/git/hooks_service_spec.rb
+4
-4
spec/lib/gitlab/git/pre_receive_error_spec.rb
spec/lib/gitlab/git/pre_receive_error_spec.rb
+9
-0
spec/lib/gitlab/gitaly_client/operation_service_spec.rb
spec/lib/gitlab/gitaly_client/operation_service_spec.rb
+2
-2
spec/models/repository_spec.rb
spec/models/repository_spec.rb
+5
-5
spec/services/merge_requests/ff_merge_service_spec.rb
spec/services/merge_requests/ff_merge_service_spec.rb
+1
-1
spec/services/merge_requests/merge_service_spec.rb
spec/services/merge_requests/merge_service_spec.rb
+1
-1
spec/services/tags/create_service_spec.rb
spec/services/tags/create_service_spec.rb
+1
-1
No files found.
app/services/commits/create_service.rb
View file @
ea8dc107
...
...
@@ -17,7 +17,7 @@ module Commits
new_commit
=
create_commit!
success
(
result:
new_commit
)
rescue
ValidationError
,
ChangeError
,
Gitlab
::
Git
::
Index
::
IndexError
,
Gitlab
::
Git
::
CommitError
,
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
ValidationError
,
ChangeError
,
Gitlab
::
Git
::
Index
::
IndexError
,
Gitlab
::
Git
::
CommitError
,
Gitlab
::
Git
::
PreReceiveError
=>
ex
error
(
ex
.
message
)
end
...
...
This diff is collapsed.
Click to expand it.
app/services/create_branch_service.rb
View file @
ea8dc107
...
...
@@ -14,7 +14,7 @@ class CreateBranchService < BaseService
else
error
(
'Invalid reference name'
)
end
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
Gitlab
::
Git
::
PreReceiveError
=>
ex
error
(
ex
.
message
)
end
...
...
This diff is collapsed.
Click to expand it.
app/services/delete_branch_service.rb
View file @
ea8dc107
...
...
@@ -16,7 +16,7 @@ class DeleteBranchService < BaseService
else
error
(
'Failed to remove branch'
)
end
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
Gitlab
::
Git
::
PreReceiveError
=>
ex
error
(
ex
.
message
)
end
...
...
This diff is collapsed.
Click to expand it.
app/services/merge_requests/ff_merge_service.rb
View file @
ea8dc107
...
...
@@ -13,7 +13,7 @@ module MergeRequests
source
,
merge_request
.
target_branch
,
merge_request:
merge_request
)
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
e
rescue
Gitlab
::
Git
::
PreReceiveError
=>
e
raise
MergeError
,
e
.
message
rescue
StandardError
=>
e
raise
MergeError
,
"Something went wrong during merge:
#{
e
.
message
}
"
...
...
This diff is collapsed.
Click to expand it.
app/services/merge_requests/merge_service.rb
View file @
ea8dc107
...
...
@@ -79,7 +79,7 @@ module MergeRequests
message
=
params
[
:commit_message
]
||
merge_request
.
merge_commit_message
repository
.
merge
(
current_user
,
source
,
merge_request
,
message
)
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
e
rescue
Gitlab
::
Git
::
PreReceiveError
=>
e
handle_merge_error
(
log_message:
e
.
message
)
raise
MergeError
,
'Something went wrong during merge pre-receive hook'
rescue
=>
e
...
...
This diff is collapsed.
Click to expand it.
app/services/tags/create_service.rb
View file @
ea8dc107
...
...
@@ -13,7 +13,7 @@ module Tags
new_tag
=
repository
.
add_tag
(
current_user
,
tag_name
,
target
,
message
)
rescue
Gitlab
::
Git
::
Repository
::
TagExistsError
return
error
(
"Tag
#{
tag_name
}
already exists"
)
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
Gitlab
::
Git
::
PreReceiveError
=>
ex
return
error
(
ex
.
message
)
end
...
...
This diff is collapsed.
Click to expand it.
app/services/tags/destroy_service.rb
View file @
ea8dc107
...
...
@@ -21,7 +21,7 @@ module Tags
else
error
(
'Failed to remove tag'
)
end
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
Gitlab
::
Git
::
PreReceiveError
=>
ex
error
(
ex
.
message
)
end
...
...
This diff is collapsed.
Click to expand it.
app/services/validate_new_branch_service.rb
View file @
ea8dc107
...
...
@@ -13,7 +13,7 @@ class ValidateNewBranchService < BaseService
end
success
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
ex
rescue
Gitlab
::
Git
::
PreReceiveError
=>
ex
error
(
ex
.
message
)
end
end
This diff is collapsed.
Click to expand it.
lib/gitlab/git/committer_with_hooks.rb
View file @
ea8dc107
...
...
@@ -20,7 +20,7 @@ module Gitlab
end
result
[
:newrev
]
rescue
Gitlab
::
Git
::
HooksService
::
PreReceiveError
=>
e
rescue
Gitlab
::
Git
::
PreReceiveError
=>
e
message
=
"Custom Hook failed:
#{
e
.
message
}
"
raise
Gitlab
::
Git
::
Wiki
::
OperationError
,
message
end
...
...
This diff is collapsed.
Click to expand it.
lib/gitlab/git/hook.rb
View file @
ea8dc107
...
...
@@ -11,7 +11,7 @@ module Gitlab
def
initialize
(
name
,
repository
)
@name
=
name
@repository
=
repository
@path
=
File
.
join
(
repo_path
.
strip
,
'hooks'
,
name
)
@path
=
File
.
join
(
repo_path
,
'hooks'
,
name
)
end
def
repo_path
...
...
@@ -95,13 +95,13 @@ module Gitlab
args
=
[
ref
,
oldrev
,
newrev
]
stdout
,
stderr
,
status
=
Open3
.
capture3
(
env
,
path
,
*
args
,
options
)
[
status
.
success?
,
Gitlab
::
Utils
.
nlbr
(
stderr
.
presence
||
stdout
)
]
[
status
.
success?
,
stderr
.
presence
||
stdout
]
end
def
retrieve_error_message
(
stderr
,
stdout
)
err_message
=
stderr
.
read
err_message
=
err_message
.
blank?
?
stdout
.
read
:
err_message
Gitlab
::
Utils
.
nlbr
(
err_message
)
err_message
end
end
end
...
...
This diff is collapsed.
Click to expand it.
lib/gitlab/git/hooks_service.rb
View file @
ea8dc107
module
Gitlab
module
Git
class
HooksService
PreReceiveError
=
Class
.
new
(
StandardError
)
attr_accessor
:oldrev
,
:newrev
,
:ref
def
execute
(
pusher
,
repository
,
oldrev
,
newrev
,
ref
)
...
...
This diff is collapsed.
Click to expand it.
lib/gitlab/git/pre_receive_error.rb
0 → 100644
View file @
ea8dc107
module
Gitlab
module
Git
#
# PreReceiveError is special because its message gets displayed to users
# in the web UI. To prevent XSS we sanitize the message on
# initialization.
class
PreReceiveError
<
StandardError
def
initialize
(
msg
=
''
)
super
(
nlbr
(
msg
))
end
private
# In gitaly-ruby we override this method to do nothing, so that
# sanitization happens in gitlab-rails only.
def
nlbr
(
str
)
Gitlab
::
Utils
.
nlbr
(
str
)
end
end
end
end
This diff is collapsed.
Click to expand it.
lib/gitlab/gitaly_client/operation_service.rb
View file @
ea8dc107
...
...
@@ -20,7 +20,7 @@ module Gitlab
response
=
GitalyClient
.
call
(
@repository
.
storage
,
:operation_service
,
:user_delete_tag
,
request
)
if
pre_receive_error
=
response
.
pre_receive_error
.
presence
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
pre_receive_error
end
end
...
...
@@ -35,7 +35,7 @@ module Gitlab
response
=
GitalyClient
.
call
(
@repository
.
storage
,
:operation_service
,
:user_create_tag
,
request
)
if
pre_receive_error
=
response
.
pre_receive_error
.
presence
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
pre_receive_error
elsif
response
.
exists
raise
Gitlab
::
Git
::
Repository
::
TagExistsError
end
...
...
@@ -56,7 +56,7 @@ module Gitlab
:user_create_branch
,
request
)
if
response
.
pre_receive_error
.
present?
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
.
new
(
response
.
pre_receive_error
)
raise
Gitlab
::
Git
::
PreReceiveError
.
new
(
response
.
pre_receive_error
)
end
branch
=
response
.
branch
...
...
@@ -76,7 +76,7 @@ module Gitlab
response
=
GitalyClient
.
call
(
@repository
.
storage
,
:operation_service
,
:user_delete_branch
,
request
)
if
pre_receive_error
=
response
.
pre_receive_error
.
presence
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
pre_receive_error
end
end
...
...
@@ -106,7 +106,7 @@ module Gitlab
second_response
=
response_enum
.
next
if
second_response
.
pre_receive_error
.
present?
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
second_response
.
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
second_response
.
pre_receive_error
end
branch_update
=
second_response
.
branch_update
...
...
@@ -175,7 +175,7 @@ module Gitlab
)
if
response
.
pre_receive_error
.
presence
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
response
.
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
response
.
pre_receive_error
elsif
response
.
git_error
.
presence
raise
Gitlab
::
Git
::
Repository
::
GitError
,
response
.
git_error
else
...
...
@@ -242,7 +242,7 @@ module Gitlab
:user_commit_files
,
req_enum
,
remote_storage:
start_repository
.
storage
)
if
(
pre_receive_error
=
response
.
pre_receive_error
.
presence
)
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
pre_receive_error
end
if
(
index_error
=
response
.
index_error
.
presence
)
...
...
@@ -280,7 +280,7 @@ module Gitlab
def
handle_cherry_pick_or_revert_response
(
response
)
if
response
.
pre_receive_error
.
presence
raise
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
response
.
pre_receive_error
raise
Gitlab
::
Git
::
PreReceiveError
,
response
.
pre_receive_error
elsif
response
.
commit_error
.
presence
raise
Gitlab
::
Git
::
CommitError
,
response
.
commit_error
elsif
response
.
create_tree_error
.
presence
...
...
This diff is collapsed.
Click to expand it.
spec/features/tags/master_deletes_tag_spec.rb
View file @
ea8dc107
...
...
@@ -38,7 +38,7 @@ feature 'Master deletes tag' do
context
'when Gitaly operation_user_delete_tag feature is enabled'
do
before
do
allow_any_instance_of
(
Gitlab
::
GitalyClient
::
OperationService
).
to
receive
(
:rm_tag
)
.
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
'Do not delete tags'
)
.
and_raise
(
Gitlab
::
Git
::
PreReceiveError
,
'Do not delete tags'
)
end
scenario
'shows the error message'
do
...
...
@@ -51,7 +51,7 @@ feature 'Master deletes tag' do
context
'when Gitaly operation_user_delete_tag feature is disabled'
,
:skip_gitaly_mock
do
before
do
allow_any_instance_of
(
Gitlab
::
Git
::
HooksService
).
to
receive
(
:execute
)
.
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
'Do not delete tags'
)
.
and_raise
(
Gitlab
::
Git
::
PreReceiveError
,
'Do not delete tags'
)
end
scenario
'shows the error message'
do
...
...
This diff is collapsed.
Click to expand it.
spec/lib/gitlab/git/hook_spec.rb
View file @
ea8dc107
...
...
@@ -9,24 +9,31 @@ describe Gitlab::Git::Hook do
end
describe
"#trigger"
do
l
et
(
:project
)
{
create
(
:project
,
:repository
)
}
s
et
(
:project
)
{
create
(
:project
,
:repository
)
}
let
(
:repository
)
{
project
.
repository
.
raw_repository
}
let
(
:repo_path
)
{
repository
.
path
}
let
(
:hooks_dir
)
{
File
.
join
(
repo_path
,
'hooks'
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:gl_id
)
{
Gitlab
::
GlId
.
gl_id
(
user
)
}
let
(
:gl_username
)
{
user
.
username
}
def
create_hook
(
name
)
FileUtils
.
mkdir_p
(
File
.
join
(
repo_path
,
'hooks'
))
File
.
open
(
File
.
join
(
repo_path
,
'hooks'
,
name
),
'w'
,
0755
)
do
|
f
|
f
.
write
(
'exit 0'
)
FileUtils
.
mkdir_p
(
hooks_dir
)
hook_path
=
File
.
join
(
hooks_dir
,
name
)
File
.
open
(
hook_path
,
'w'
,
0755
)
do
|
f
|
f
.
write
(
<<~
HOOK
)
#!/bin/sh
exit 0
HOOK
end
end
def
create_failing_hook
(
name
)
FileUtils
.
mkdir_p
(
File
.
join
(
repo_path
,
'hooks'
))
File
.
open
(
File
.
join
(
repo_path
,
'hooks'
,
name
),
'w'
,
0755
)
do
|
f
|
f
.
write
(
<<-
HOOK
)
FileUtils
.
mkdir_p
(
hooks_dir
)
hook_path
=
File
.
join
(
hooks_dir
,
name
)
File
.
open
(
hook_path
,
'w'
,
0755
)
do
|
f
|
f
.
write
(
<<~
HOOK
)
#!/bin/sh
echo 'regular message from the hook'
echo 'error message from the hook' 1>&2
echo 'error message from the hook line 2' 1>&2
...
...
@@ -38,7 +45,7 @@ describe Gitlab::Git::Hook do
[
'pre-receive'
,
'post-receive'
,
'update'
].
each
do
|
hook_name
|
context
"when triggering a
#{
hook_name
}
hook"
do
context
"when the hook is successful"
do
let
(
:hook_path
)
{
File
.
join
(
repo_path
,
'hooks'
,
hook_name
)
}
let
(
:hook_path
)
{
File
.
join
(
hooks_dir
,
hook_name
)
}
let
(
:gl_repository
)
{
Gitlab
::
GlRepository
.
gl_repository
(
project
,
false
)
}
let
(
:env
)
do
{
...
...
@@ -76,7 +83,7 @@ describe Gitlab::Git::Hook do
status
,
errors
=
hook
.
trigger
(
gl_id
,
gl_username
,
blank
,
blank
,
ref
)
expect
(
status
).
to
be
false
expect
(
errors
).
to
eq
(
"error message from the hook
<br>error message from the hook line 2<br>
"
)
expect
(
errors
).
to
eq
(
"error message from the hook
\n
error message from the hook line 2
\n
"
)
end
end
end
...
...
This diff is collapsed.
Click to expand it.
spec/lib/gitlab/git/hooks_service_spec.rb
View file @
ea8dc107
...
...
@@ -26,24 +26,24 @@ describe Gitlab::Git::HooksService, seed_helper: true do
context
'when pre-receive hook failed'
do
it
'does not call post-receive hook'
do
expect
(
service
).
to
receive
(
:run_hook
).
with
(
'pre-receive'
).
and_return
([
false
,
''
])
expect
(
service
).
to
receive
(
:run_hook
).
with
(
'pre-receive'
).
and_return
([
false
,
'
hello world
'
])
expect
(
service
).
not_to
receive
(
:run_hook
).
with
(
'post-receive'
)
expect
do
service
.
execute
(
user
,
repository
,
blankrev
,
newrev
,
ref
)
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
,
'hello world'
)
end
end
context
'when update hook failed'
do
it
'does not call post-receive hook'
do
expect
(
service
).
to
receive
(
:run_hook
).
with
(
'pre-receive'
).
and_return
([
true
,
nil
])
expect
(
service
).
to
receive
(
:run_hook
).
with
(
'update'
).
and_return
([
false
,
''
])
expect
(
service
).
to
receive
(
:run_hook
).
with
(
'update'
).
and_return
([
false
,
'
hello world
'
])
expect
(
service
).
not_to
receive
(
:run_hook
).
with
(
'post-receive'
)
expect
do
service
.
execute
(
user
,
repository
,
blankrev
,
newrev
,
ref
)
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
,
'hello world'
)
end
end
end
...
...
This diff is collapsed.
Click to expand it.
spec/lib/gitlab/git/pre_receive_error_spec.rb
0 → 100644
View file @
ea8dc107
require
'spec_helper'
describe
Gitlab
::
Git
::
PreReceiveError
do
it
'makes its message HTML-friendly'
do
ex
=
described_class
.
new
(
"hello
\n
world
\n
"
)
expect
(
ex
.
message
).
to
eq
(
'hello<br>world<br>'
)
end
end
This diff is collapsed.
Click to expand it.
spec/lib/gitlab/gitaly_client/operation_service_spec.rb
View file @
ea8dc107
...
...
@@ -48,7 +48,7 @@ describe Gitlab::GitalyClient::OperationService do
.
and_return
(
response
)
expect
{
subject
}.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
"something failed"
)
Gitlab
::
Git
::
PreReceiveError
,
"something failed"
)
end
end
end
...
...
@@ -85,7 +85,7 @@ describe Gitlab::GitalyClient::OperationService do
.
and_return
(
response
)
expect
{
subject
}.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
"something failed"
)
Gitlab
::
Git
::
PreReceiveError
,
"something failed"
)
end
end
end
...
...
This diff is collapsed.
Click to expand it.
spec/models/repository_spec.rb
View file @
ea8dc107
...
...
@@ -1195,7 +1195,7 @@ describe Repository do
Gitlab
::
Git
::
OperationService
.
new
(
git_user
,
repository
.
raw_repository
).
with_branch
(
'feature'
)
do
new_rev
end
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
)
end
end
...
...
@@ -1938,13 +1938,13 @@ describe Repository do
context
'when pre hooks failed'
do
before
do
allow_any_instance_of
(
Gitlab
::
GitalyClient
::
OperationService
)
.
to
receive
(
:user_delete_branch
).
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
.
to
receive
(
:user_delete_branch
).
and_raise
(
Gitlab
::
Git
::
PreReceiveError
)
end
it
'gets an error and does not delete the branch'
do
expect
do
repository
.
rm_branch
(
user
,
'feature'
)
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
)
expect
(
repository
.
find_branch
(
'feature'
)).
not_to
be_nil
end
...
...
@@ -1980,7 +1980,7 @@ describe Repository do
expect
do
repository
.
rm_branch
(
user
,
'feature'
)
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
)
end
it
'does not delete the branch'
do
...
...
@@ -1988,7 +1988,7 @@ describe Repository do
expect
do
repository
.
rm_branch
(
user
,
'feature'
)
end
.
to
raise_error
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
)
end
.
to
raise_error
(
Gitlab
::
Git
::
PreReceiveError
)
expect
(
repository
.
find_branch
(
'feature'
)).
not_to
be_nil
end
end
...
...
This diff is collapsed.
Click to expand it.
spec/services/merge_requests/ff_merge_service_spec.rb
View file @
ea8dc107
...
...
@@ -72,7 +72,7 @@ describe MergeRequests::FfMergeService do
it
'logs and saves error if there is an PreReceiveError exception'
do
error_message
=
'error message'
allow
(
service
).
to
receive
(
:repository
).
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
error_message
)
allow
(
service
).
to
receive
(
:repository
).
and_raise
(
Gitlab
::
Git
::
PreReceiveError
,
error_message
)
allow
(
service
).
to
receive
(
:execute_hooks
)
service
.
execute
(
merge_request
)
...
...
This diff is collapsed.
Click to expand it.
spec/services/merge_requests/merge_service_spec.rb
View file @
ea8dc107
...
...
@@ -226,7 +226,7 @@ describe MergeRequests::MergeService do
it
'logs and saves error if there is an PreReceiveError exception'
do
error_message
=
'error message'
allow
(
service
).
to
receive
(
:repository
).
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
error_message
)
allow
(
service
).
to
receive
(
:repository
).
and_raise
(
Gitlab
::
Git
::
PreReceiveError
,
error_message
)
allow
(
service
).
to
receive
(
:execute_hooks
)
service
.
execute
(
merge_request
)
...
...
This diff is collapsed.
Click to expand it.
spec/services/tags/create_service_spec.rb
View file @
ea8dc107
...
...
@@ -41,7 +41,7 @@ describe Tags::CreateService do
it
'returns an error'
do
expect
(
repository
).
to
receive
(
:add_tag
)
.
with
(
user
,
'v1.1.0'
,
'master'
,
'Foo'
)
.
and_raise
(
Gitlab
::
Git
::
HooksService
::
PreReceiveError
,
'something went wrong'
)
.
and_raise
(
Gitlab
::
Git
::
PreReceiveError
,
'something went wrong'
)
response
=
service
.
execute
(
'v1.1.0'
,
'master'
,
'Foo'
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment