Commit 433cc965 authored by Nick Thomas's avatar Nick Thomas

Merge branch 'display-post-receive-warnings' into 'master'

Display post receive warnings from Rails

See merge request gitlab-org/gitlab-shell!288
parents 0a0388cc 84d96bed
......@@ -24,10 +24,11 @@ class GitlabPostReceive
end
return false unless response
print_broadcast_message(response['broadcast_message']) if response['broadcast_message']
print_formatted_alert_message(response['broadcast_message']) if response['broadcast_message']
print_merge_request_links(response['merge_request_urls']) if response['merge_request_urls']
puts response['redirected_message'] if response['redirected_message']
puts response['project_created_message'] if response['project_created_message']
print_warnings(response['warnings']) if response['warnings']
response['reference_counter_decreased']
rescue GitlabNet::ApiUnreachableError
......@@ -59,7 +60,12 @@ class GitlabPostReceive
puts
end
def print_broadcast_message(message)
def print_warnings(warnings)
message = "WARNINGS:\n#{warnings}"
print_formatted_alert_message(message)
end
def print_formatted_alert_message(message)
# A standard terminal window is (at least) 80 characters wide.
total_width = 80
......
......@@ -96,7 +96,21 @@ describe GitlabPostReceive do
expect(gitlab_post_receive.exec).to eq(true)
end
end
end
context 'when warnings are present' do
let(:response) do
{
'reference_counter_decreased' => true,
'warnings' => 'My warning message'
}
end
it 'treats the warning as a broadcast message' do
expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response)
expect(gitlab_post_receive).to receive(:print_formatted_alert_message).with("WARNINGS:\nMy warning message")
expect(gitlab_post_receive.exec).to eq(true)
end
end
context 'when redirected message available' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment