diff options
author | Patrick Bajao <ebajao@gitlab.com> | 2019-03-07 16:51:58 +0800 |
---|---|---|
committer | Patrick Bajao <ebajao@gitlab.com> | 2019-03-07 16:57:01 +0800 |
commit | 461e3979691ade5bac7b882ac2c14b4d3d229676 (patch) | |
tree | ec50a922fd90961edf4e6f9f0075d759a013d863 | |
parent | 333097d7652a863f1d328e4c6b86be5e3b570bbf (diff) | |
download | gitlab-ce-58613-protected-branches-error.tar.gz |
Move empty_repo check on its own58613-protected-branches-error
-rw-r--r-- | lib/gitlab/checks/branch_check.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab/checks/branch_check_spec.rb | 39 |
2 files changed, 24 insertions, 19 deletions
diff --git a/lib/gitlab/checks/branch_check.rb b/lib/gitlab/checks/branch_check.rb index 75b337a14cc..ad926739752 100644 --- a/lib/gitlab/checks/branch_check.rb +++ b/lib/gitlab/checks/branch_check.rb @@ -46,7 +46,9 @@ module Gitlab end end - if creation? && protected_branch_creation_enabled? && !project.empty_repo? + if project.empty_repo? + protected_branch_push_checks + elsif creation? && protected_branch_creation_enabled? protected_branch_creation_checks elsif deletion? protected_branch_deletion_checks diff --git a/spec/lib/gitlab/checks/branch_check_spec.rb b/spec/lib/gitlab/checks/branch_check_spec.rb index 1a672f9d80a..12beeecd470 100644 --- a/spec/lib/gitlab/checks/branch_check_spec.rb +++ b/spec/lib/gitlab/checks/branch_check_spec.rb @@ -48,10 +48,28 @@ describe Gitlab::Checks::BranchCheck do context 'when project repository is empty' do let(:project) { create(:project) } - it 'raises an error if the user is not allowed to push to protected branches' do - expect(user_access).to receive(:can_push_to_branch?).and_return(false) + context 'user is not allowed to push to protected branches' do + before do + allow(user_access) + .to receive(:can_push_to_branch?) + .and_return(false) + end + + it 'raises an error' do + expect { subject.validate! }.to raise_error(Gitlab::GitAccess::UnauthorizedError, /Ask a project Owner or Maintainer to create a default branch/) + end + end + + context 'user is allowed to push to protected branches' do + before do + allow(user_access) + .to receive(:can_push_to_branch?) + .and_return(true) + end - expect { subject.validate! }.to raise_error(Gitlab::GitAccess::UnauthorizedError, /Ask a project Owner or Maintainer to create a default branch/) + it 'allows branch creation' do + expect { subject.validate! }.not_to raise_error + end end end @@ -116,21 +134,6 @@ describe Gitlab::Checks::BranchCheck do .and_return(['branch']) end - context "when repo is empty" do - let(:project) { create(:project, :empty_repo) } - let(:ref) { 'refs/heads/master' } - - before do - allow(user_access) - .to receive(:can_push_to_branch?) - .and_return(true) - end - - it 'allows branch creation' do - expect { subject.validate! }.not_to raise_error - end - end - context "newrev isn't in any protected branches" do before do allow(ProtectedBranch) |