summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-01-18 17:15:15 +0000
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-02-06 16:43:48 +0000
commit51ea7adbd1007013f10fe3503ea4b1212ec9fd0a (patch)
tree41410c4097b775f8c0c06ab79363b135ddfdc1a4
parente102be67bb648ebe265d7d7a1c91a491f9048213 (diff)
downloadgitlab-shell-51ea7adbd1007013f10fe3503ea4b1212ec9fd0a.tar.gz
Print new project information in post receive
-rw-r--r--lib/gitlab_post_receive.rb1
-rw-r--r--spec/gitlab_post_receive_spec.rb58
2 files changed, 54 insertions, 5 deletions
diff --git a/lib/gitlab_post_receive.rb b/lib/gitlab_post_receive.rb
index 3f411a0..55b00bb 100644
--- a/lib/gitlab_post_receive.rb
+++ b/lib/gitlab_post_receive.rb
@@ -27,6 +27,7 @@ class GitlabPostReceive
print_broadcast_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']
response['reference_counter_decreased']
rescue GitlabNet::ApiUnreachableError
diff --git a/spec/gitlab_post_receive_spec.rb b/spec/gitlab_post_receive_spec.rb
index 1b43db0..3a5dd38 100644
--- a/spec/gitlab_post_receive_spec.rb
+++ b/spec/gitlab_post_receive_spec.rb
@@ -63,7 +63,7 @@ describe GitlabPostReceive do
context 'when redirected message available' do
let(:message) do
- <<-MSG
+ <<~MSG
Project 'foo/bar' was moved to 'foo/baz'.
Please update your Git remote:
@@ -71,11 +71,12 @@ describe GitlabPostReceive do
git remote set-url origin http://localhost:3000/foo/baz.git
MSG
end
+
let(:response) do
- {
+ {
'reference_counter_decreased' => true,
'redirected_message' => message
- }
+ }
end
it 'prints redirected message' do
@@ -83,6 +84,37 @@ describe GitlabPostReceive do
assert_redirected_message_printed(gitlab_post_receive)
expect(gitlab_post_receive.exec).to eq(true)
end
+
+ context 'when project created message is available' do
+ let(:message) do
+ <<~MSG
+
+ The private project foo/bar was successfully created.
+
+ To configure the remote, run:
+ git remote add origin http://localhost:3000/foo/bar.git
+
+ To view the project, visit:
+ http://localhost:3000/foo/bar
+
+ MSG
+ end
+
+ let(:response) do
+ {
+ 'reference_counter_decreased' => true,
+ 'project_created_message' => message
+ }
+ end
+
+ it 'prints project created message' do
+ expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response)
+
+ assert_project_created_message_printed(gitlab_post_receive)
+
+ expect(gitlab_post_receive.exec).to be true
+ end
+ end
end
end
@@ -129,9 +161,9 @@ describe GitlabPostReceive do
"========================================================================"
).ordered
end
-
+
def assert_redirected_message_printed(gitlab_post_receive)
- message = <<-MSG
+ message = <<~MSG
Project 'foo/bar' was moved to 'foo/baz'.
Please update your Git remote:
@@ -140,4 +172,20 @@ describe GitlabPostReceive do
MSG
expect(gitlab_post_receive).to receive(:puts).with(message).ordered
end
+
+ def assert_project_created_message_printed(gitlab_post_receive)
+ message = <<~MSG
+
+ The private project foo/bar was successfully created.
+
+ To configure the remote, run:
+ git remote add origin http://localhost:3000/foo/bar.git
+
+ To view the project, visit:
+ http://localhost:3000/foo/bar
+
+ MSG
+
+ expect(gitlab_post_receive).to receive(:puts).with(message).ordered
+ end
end