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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2014-07-29 13:49:46 +0400
committerRobert Schilling <rschilling@student.tugraz.at>2014-07-29 13:49:46 +0400
commit7cefdb49eb460e87e3c3b827af32ae1b6834c4da (patch)
treeb1ce1dcdb146e094d5929b0c385495239cd8e663 /features
parentd30454e112378c24cc9edfd7b511ca42bdb1e399 (diff)
Prevent 500 if hook url is down, fixes #7376
Diffstat (limited to 'features')
-rw-r--r--features/project/hooks.feature6
-rw-r--r--features/steps/project/hooks.rb12
2 files changed, 18 insertions, 0 deletions
diff --git a/features/project/hooks.feature b/features/project/hooks.feature
index 52e02a890dd..1a60846a23e 100644
--- a/features/project/hooks.feature
+++ b/features/project/hooks.feature
@@ -24,3 +24,9 @@ Feature: Project Hooks
And I visit project hooks page
When I click test hook button
Then I should see hook error message
+
+ Scenario: I test a hook on down URL
+ Given project has hook
+ And I visit project hooks page
+ When I click test hook button with invalid URL
+ Then I should see hook service down error message
diff --git a/features/steps/project/hooks.rb b/features/steps/project/hooks.rb
index 30da589260d..2bd383676e7 100644
--- a/features/steps/project/hooks.rb
+++ b/features/steps/project/hooks.rb
@@ -38,6 +38,11 @@ class ProjectHooks < Spinach::FeatureSteps
click_link 'Test Hook'
end
+ step 'I click test hook button with invalid URL' do
+ stub_request(:post, @hook.url).to_raise(SocketError)
+ click_link 'Test Hook'
+ end
+
step 'hook should be triggered' do
page.current_path.should == project_hooks_path(current_project)
page.should have_selector '.flash-notice',
@@ -49,4 +54,11 @@ class ProjectHooks < Spinach::FeatureSteps
text: 'Hook execution failed. '\
'Ensure the project has commits.'
end
+
+ step 'I should see hook service down error message' do
+ page.should have_selector '.flash-alert',
+ text: 'Hook execution failed. '\
+ 'Ensure hook URL is correct and '\
+ 'service is up.'
+ end
end