diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2019-04-03 14:06:47 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2019-04-03 14:06:47 +0200 |
commit | 48c5f6c8ca4549a22b4f179fbd472146fa2aa002 (patch) | |
tree | d880785bb8f9641578485c1f41e1d4abf9a218d2 /spec/gitlab_post_receive_spec.rb | |
parent | 433cc96551a6d1f1621f9e105b1e7eb1ccc41b7a (diff) | |
download | gitlab-shell-remove-hooks.tar.gz |
Remove hooks, they belong to Gitaly nowremove-hooks
Diffstat (limited to 'spec/gitlab_post_receive_spec.rb')
-rw-r--r-- | spec/gitlab_post_receive_spec.rb | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/spec/gitlab_post_receive_spec.rb b/spec/gitlab_post_receive_spec.rb deleted file mode 100644 index d061830..0000000 --- a/spec/gitlab_post_receive_spec.rb +++ /dev/null @@ -1,284 +0,0 @@ -# coding: utf-8 -require 'spec_helper' -require 'gitlab_post_receive' - -describe GitlabPostReceive do - let(:repository_path) { "/home/git/repositories" } - let(:repo_name) { 'dzaporozhets/gitlab-ci' } - let(:actor) { 'key-123' } - let(:changes) { "123456 789012 refs/heads/tést\n654321 210987 refs/tags/tag" } - let(:wrongly_encoded_changes) { changes.encode("ISO-8859-1").force_encoding("UTF-8") } - let(:base64_changes) { Base64.encode64(wrongly_encoded_changes) } - let(:repo_path) { File.join(repository_path, repo_name) + ".git" } - let(:gl_repository) { "project-1" } - let(:push_options) { [] } - let(:gitlab_post_receive) { GitlabPostReceive.new(gl_repository, repo_path, actor, wrongly_encoded_changes, push_options) } - let(:broadcast_message) { "test " * 10 + "message " * 10 } - let(:enqueued_at) { Time.new(2016, 6, 23, 6, 59) } - let(:new_merge_request_urls) do - [{ - 'branch_name' => 'new_branch', - 'url' => 'http://localhost/dzaporozhets/gitlab-ci/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch', - 'new_merge_request' => true - }] - end - let(:existing_merge_request_urls) do - [{ - 'branch_name' => 'feature_branch', - 'url' => 'http://localhost/dzaporozhets/gitlab-ci/merge_requests/1', - 'new_merge_request' => false - }] - end - - before do - $logger = double('logger').as_null_object # Global vars are bad - allow_any_instance_of(GitlabConfig).to receive(:repos_path).and_return(repository_path) - end - - describe "#exec" do - let(:response) { { 'reference_counter_decreased' => true } } - - it 'calls the api to notify the execution of the hook' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - - expect(gitlab_post_receive.exec).to eq(true) - end - - context 'merge request urls and broadcast messages' do - let(:response) do - { - 'reference_counter_decreased' => true, - 'merge_request_urls' => new_merge_request_urls, - 'broadcast_message' => broadcast_message - } - end - - it 'prints the merge request urls and broadcast message' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - assert_broadcast_message_printed(gitlab_post_receive) - assert_new_mr_printed(gitlab_post_receive) - - expect(gitlab_post_receive.exec).to eq(true) - end - - context 'when contains long url string at end' do - let(:broadcast_message) { "test " * 10 + "message " * 10 + "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url" } - - it 'doesnt truncate url' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - assert_broadcast_message_printed_keep_long_url_end(gitlab_post_receive) - assert_new_mr_printed(gitlab_post_receive) - - expect(gitlab_post_receive.exec).to eq(true) - end - end - - context 'when contains long url string at start' do - let(:broadcast_message) { "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url " + "test " * 10 + "message " * 11} - - it 'doesnt truncate url' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - assert_broadcast_message_printed_keep_long_url_start(gitlab_post_receive) - assert_new_mr_printed(gitlab_post_receive) - - expect(gitlab_post_receive.exec).to eq(true) - end - end - - context 'when contains long url string in middle' do - let(:broadcast_message) { "test " * 11 + "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url " + "message " * 11} - - it 'doesnt truncate url' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - assert_broadcast_message_printed_keep_long_url_middle(gitlab_post_receive) - assert_new_mr_printed(gitlab_post_receive) - - 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 - let(:message) { "This is a redirected message" } - let(:response) do - { - 'reference_counter_decreased' => true, - 'redirected_message' => message - } - end - - it 'prints redirected message' do - expect_any_instance_of(GitlabNet).to receive(:post_receive).and_return(response) - 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) { "This is a created project message" } - 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 - - private - - def assert_new_mr_printed(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "To create a merge request for new_branch, visit:" - ).ordered - expect(gitlab_post_receive).to receive(:puts).with( - " http://localhost/dzaporozhets/gitlab-ci/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - end - - def assert_existing_mr_printed(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "View merge request for feature_branch:" - ).ordered - expect(gitlab_post_receive).to receive(:puts).with( - " http://localhost/dzaporozhets/gitlab-ci/merge_requests/1" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - end - - def assert_broadcast_message_printed(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " test test test test test test test test test test message message" - ).ordered - expect(gitlab_post_receive).to receive(:puts).with( - " message message message message message message message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - end - - def assert_redirected_message_printed(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).with("This is a redirected message") - end - - def assert_project_created_message_printed(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).with("This is a created project message") - end - - def assert_broadcast_message_printed_keep_long_url_end(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " test test test test test test test test test test message message" - ).ordered - expect(gitlab_post_receive).to receive(:puts).with( - " message message message message message message message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - end - - def assert_broadcast_message_printed_keep_long_url_start(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " test test test test test test test test test test message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " message message message message message message message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - end - - def assert_broadcast_message_printed_keep_long_url_middle(gitlab_post_receive) - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - expect(gitlab_post_receive).to receive(:puts).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " test test test test test test test test test test test" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - "https://localhost:5000/test/a/really/long/url/that/is/in/the/broadcast/message/do-not-truncate-when-url" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " message message message message message message message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).with( - " message message message" - ).ordered - - expect(gitlab_post_receive).to receive(:puts).ordered - expect(gitlab_post_receive).to receive(:puts).with( - "========================================================================" - ).ordered - end -end |