summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Bajao <ebajao@gitlab.com>2019-03-07 16:51:58 +0800
committerPatrick Bajao <ebajao@gitlab.com>2019-03-07 16:57:01 +0800
commit461e3979691ade5bac7b882ac2c14b4d3d229676 (patch)
treeec50a922fd90961edf4e6f9f0075d759a013d863
parent333097d7652a863f1d328e4c6b86be5e3b570bbf (diff)
downloadgitlab-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.rb4
-rw-r--r--spec/lib/gitlab/checks/branch_check_spec.rb39
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)