diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-01-18 17:15:15 +0000 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-02-06 16:43:48 +0000 |
commit | 51ea7adbd1007013f10fe3503ea4b1212ec9fd0a (patch) | |
tree | 41410c4097b775f8c0c06ab79363b135ddfdc1a4 | |
parent | e102be67bb648ebe265d7d7a1c91a491f9048213 (diff) | |
download | gitlab-shell-51ea7adbd1007013f10fe3503ea4b1212ec9fd0a.tar.gz |
Print new project information in post receive
-rw-r--r-- | lib/gitlab_post_receive.rb | 1 | ||||
-rw-r--r-- | spec/gitlab_post_receive_spec.rb | 58 |
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 |