diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-01-26 17:28:08 +0300 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-02-06 16:35:35 +0300 |
commit | dc229c076cdc0ef6e7f3f74f6e462c22880ff08c (patch) | |
tree | ec2c979bf3dcb0af71661a7903afd02b2e6f6114 /spec/lib/gitlab/checks | |
parent | e42a548f1dac02577d0c1731fef508dab68c45a5 (diff) |
Abstracts ProjectMoved and ProjectCreated into a BaseProject
Diffstat (limited to 'spec/lib/gitlab/checks')
-rw-r--r-- | spec/lib/gitlab/checks/project_created_spec.rb | 22 | ||||
-rw-r--r-- | spec/lib/gitlab/checks/project_moved_spec.rb | 40 |
2 files changed, 31 insertions, 31 deletions
diff --git a/spec/lib/gitlab/checks/project_created_spec.rb b/spec/lib/gitlab/checks/project_created_spec.rb index c79798bc84d..ac02007e111 100644 --- a/spec/lib/gitlab/checks/project_created_spec.rb +++ b/spec/lib/gitlab/checks/project_created_spec.rb @@ -4,43 +4,43 @@ describe Gitlab::Checks::ProjectCreated, :clean_gitlab_redis_shared_state do let(:user) { create(:user) } let(:project) { create(:project) } - describe '.fetch_project_created_message' do + describe '.fetch_message' do context 'with a project created message queue' do - let(:project_created) { described_class.new(user, project, 'http') } + let(:project_created) { described_class.new(project, user, 'http') } before do - project_created.add_project_created_message + project_created.add_message end it 'returns project created message' do - expect(described_class.fetch_project_created_message(user.id, project.id)).to eq(project_created.project_created_message) + expect(described_class.fetch_message(user.id, project.id)).to eq(project_created.message) end it 'deletes the project created message from redis' do expect(Gitlab::Redis::SharedState.with { |redis| redis.get("project_created:#{user.id}:#{project.id}") }).not_to be_nil - described_class.fetch_project_created_message(user.id, project.id) + described_class.fetch_message(user.id, project.id) expect(Gitlab::Redis::SharedState.with { |redis| redis.get("project_created:#{user.id}:#{project.id}") }).to be_nil end end context 'with no project created message queue' do it 'returns nil' do - expect(described_class.fetch_project_created_message(1, 2)).to be_nil + expect(described_class.fetch_message(1, 2)).to be_nil end end end - describe '#add_project_created_message' do + describe '#add_message' do it 'queues a project created message' do - project_created = described_class.new(user, project, 'http') + project_created = described_class.new(project, user, 'http') - expect(project_created.add_project_created_message).to eq('OK') + expect(project_created.add_message).to eq('OK') end it 'handles anonymous push' do - project_created = described_class.new(user, nil, 'http') + project_created = described_class.new(nil, user, 'http') - expect(project_created.add_project_created_message).to be_nil + expect(project_created.add_message).to be_nil end end end diff --git a/spec/lib/gitlab/checks/project_moved_spec.rb b/spec/lib/gitlab/checks/project_moved_spec.rb index b03a598edd8..e263d29656c 100644 --- a/spec/lib/gitlab/checks/project_moved_spec.rb +++ b/spec/lib/gitlab/checks/project_moved_spec.rb @@ -4,65 +4,65 @@ describe Gitlab::Checks::ProjectMoved, :clean_gitlab_redis_shared_state do let(:user) { create(:user) } let(:project) { create(:project) } - describe '.fetch_redirct_message' do + describe '.fetch_message' do context 'with a redirect message queue' do it 'returns the redirect message' do - project_moved = described_class.new(project, user, 'foo/bar', 'http') - project_moved.add_redirect_message + project_moved = described_class.new(project, user, 'http', 'foo/bar') + project_moved.add_message - expect(described_class.fetch_redirect_message(user.id, project.id)).to eq(project_moved.redirect_message) + expect(described_class.fetch_message(user.id, project.id)).to eq(project_moved.message) end it 'deletes the redirect message from redis' do - project_moved = described_class.new(project, user, 'foo/bar', 'http') - project_moved.add_redirect_message + project_moved = described_class.new(project, user, 'http', 'foo/bar') + project_moved.add_message expect(Gitlab::Redis::SharedState.with { |redis| redis.get("redirect_namespace:#{user.id}:#{project.id}") }).not_to be_nil - described_class.fetch_redirect_message(user.id, project.id) + described_class.fetch_message(user.id, project.id) expect(Gitlab::Redis::SharedState.with { |redis| redis.get("redirect_namespace:#{user.id}:#{project.id}") }).to be_nil end end context 'with no redirect message queue' do it 'returns nil' do - expect(described_class.fetch_redirect_message(1, 2)).to be_nil + expect(described_class.fetch_message(1, 2)).to be_nil end end end - describe '#add_redirect_message' do + describe '#add_message' do it 'queues a redirect message' do - project_moved = described_class.new(project, user, 'foo/bar', 'http') - expect(project_moved.add_redirect_message).to eq("OK") + project_moved = described_class.new(project, user, 'http', 'foo/bar') + expect(project_moved.add_message).to eq("OK") end it 'handles anonymous clones' do - project_moved = described_class.new(project, nil, 'foo/bar', 'http') + project_moved = described_class.new(project, nil, 'http', 'foo/bar') - expect(project_moved.add_redirect_message).to eq(nil) + expect(project_moved.add_message).to eq(nil) end end - describe '#redirect_message' do + describe '#message' do context 'when the push is rejected' do it 'returns a redirect message telling the user to try again' do - project_moved = described_class.new(project, user, 'foo/bar', 'http') + project_moved = described_class.new(project, user, 'http', 'foo/bar') message = "Project 'foo/bar' was moved to '#{project.full_path}'." + "\n\nPlease update your Git remote:" + "\n\n git remote set-url origin #{project.http_url_to_repo} and try again.\n" - expect(project_moved.redirect_message(rejected: true)).to eq(message) + expect(project_moved.message(rejected: true)).to eq(message) end end context 'when the push is not rejected' do it 'returns a redirect message' do - project_moved = described_class.new(project, user, 'foo/bar', 'http') + project_moved = described_class.new(project, user, 'http', 'foo/bar') message = "Project 'foo/bar' was moved to '#{project.full_path}'." + "\n\nPlease update your Git remote:" + "\n\n git remote set-url origin #{project.http_url_to_repo}\n" - expect(project_moved.redirect_message).to eq(message) + expect(project_moved.message).to eq(message) end end end @@ -71,7 +71,7 @@ describe Gitlab::Checks::ProjectMoved, :clean_gitlab_redis_shared_state do context 'with a permanent RedirectRoute' do it 'returns true' do project.route.create_redirect('foo/bar', permanent: true) - project_moved = described_class.new(project, user, 'foo/bar', 'http') + project_moved = described_class.new(project, user, 'http', 'foo/bar') expect(project_moved.permanent_redirect?).to be_truthy end end @@ -79,7 +79,7 @@ describe Gitlab::Checks::ProjectMoved, :clean_gitlab_redis_shared_state do context 'without a permanent RedirectRoute' do it 'returns false' do project.route.create_redirect('foo/bar') - project_moved = described_class.new(project, user, 'foo/bar', 'http') + project_moved = described_class.new(project, user, 'http', 'foo/bar') expect(project_moved.permanent_redirect?).to be_falsy end end |