diff --git a/app/helpers/lfs_helper.rb b/app/helpers/lfs_helper.rb index 0d6b72ff74677193c231d1c4480e728ae7195790..018ca7d7bba3e26a8b2f12c982a07192298e45c0 100644 --- a/app/helpers/lfs_helper.rb +++ b/app/helpers/lfs_helper.rb @@ -29,17 +29,17 @@ module LfsHelper end def user_can_download_code? - has_capability?(:download_code) && user && user.can?(:download_code, project) + has_authentication_ability?(:download_code) && can?(user, :download_code, project) end def build_can_download_code? - has_capability?(:build_download_code) && user && user.can?(:build_download_code, project) + has_authentication_ability?(:build_download_code) && can?(user, :build_download_code, project) end def lfs_upload_access? return false unless project.lfs_enabled? - has_capability?(:push_code) && user && user.can?(:push_code, project) + has_authentication_ability?(:push_code) && can?(user, :push_code, project) end def render_lfs_forbidden diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb index 744282b2afa38bbd90612e51274965de01e29bb3..d3707005a0e59f42e08c73028b4f09dab93e2a2b 100644 --- a/spec/lib/gitlab/auth_spec.rb +++ b/spec/lib/gitlab/auth_spec.rb @@ -26,16 +26,18 @@ describe Gitlab::Auth, lib: true do end end - context 'for non-running build' do - let!(:build) { create(:ci_build, :pending) } - let(:project) { build.project } - - before do - expect(gl_auth).to receive(:rate_limit!).with('ip', success: false, login: 'gitlab-ci-token') - end - - it 'denies authentication' do - expect(subject).to eq(Gitlab::Auth::Result.new) + (HasStatus::AVAILABLE_STATUSES - [:running]).each do |build_status| + context "for #{build_status} build" do + let!(:build) { create(:ci_build, status: build_status) } + let(:project) { build.project } + + before do + expect(gl_auth).to receive(:rate_limit!).with('ip', success: false, login: 'gitlab-ci-token') + end + + it 'denies authentication' do + expect(subject).not_to eq(Gitlab::Auth::Result.new) + end end end end diff --git a/spec/lib/gitlab/git_access_wiki_spec.rb b/spec/lib/gitlab/git_access_wiki_spec.rb index d05f0beb08021a554c81a4a3d67040005f6f96e1..576cda595bb1fc5f8a6c5b30a1b4a381c8f7758f 100644 --- a/spec/lib/gitlab/git_access_wiki_spec.rb +++ b/spec/lib/gitlab/git_access_wiki_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Gitlab::GitAccessWiki, lib: true do - let(:access) { Gitlab::GitAccessWiki.new(user, project, 'web', authentication_abilities) } + let(:access) { Gitlab::GitAccessWiki.new(user, project, 'web', authentication_abilities: authentication_abilities) } let(:project) { create(:project) } let(:user) { create(:user) } let(:authentication_abilities) do