Add latest changes from gitlab-org/security/gitlab@16-3-stable-ee
This commit is contained in:
parent
b54219aff8
commit
9552792ccb
|
|
@ -11,12 +11,14 @@ module VersionCheckHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def gitlab_version_check
|
def gitlab_version_check
|
||||||
|
return unless show_version_check?
|
||||||
|
|
||||||
VersionCheck.new.response
|
VersionCheck.new.response
|
||||||
end
|
end
|
||||||
strong_memoize_attr :gitlab_version_check
|
strong_memoize_attr :gitlab_version_check
|
||||||
|
|
||||||
def show_security_patch_upgrade_alert?
|
def show_security_patch_upgrade_alert?
|
||||||
return false unless show_version_check? && gitlab_version_check
|
return false unless gitlab_version_check
|
||||||
|
|
||||||
Gitlab::Utils.to_boolean(gitlab_version_check['critical_vulnerability'])
|
Gitlab::Utils.to_boolean(gitlab_version_check['critical_vulnerability'])
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -38,43 +38,49 @@ RSpec.describe VersionCheckHelper do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#gitlab_version_check' do
|
describe '#gitlab_version_check' do
|
||||||
|
let(:show_version_check) { false }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
allow_next_instance_of(VersionCheck) do |instance|
|
allow(helper).to receive(:show_version_check?).and_return(show_version_check)
|
||||||
allow(instance).to receive(:response).and_return({ "severity" => "success" })
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns an instance of the VersionCheck class' do
|
it 'when show_version_check? is false it returns nil' do
|
||||||
expect(helper.gitlab_version_check).to eq({ "severity" => "success" })
|
expect(helper.gitlab_version_check).to be nil
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when show_version_check? is true' do
|
||||||
|
let(:show_version_check) { true }
|
||||||
|
|
||||||
|
before do
|
||||||
|
allow_next_instance_of(VersionCheck) do |instance|
|
||||||
|
allow(instance).to receive(:response).and_return({ "severity" => "success" })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns an instance of the VersionCheck class if the user has access' do
|
||||||
|
expect(helper.gitlab_version_check).to eq({ "severity" => "success" })
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#show_security_patch_upgrade_alert?' do
|
describe '#show_security_patch_upgrade_alert?' do
|
||||||
describe 'return conditions' do
|
describe 'return conditions' do
|
||||||
where(:show_version_check, :gitlab_version_check, :result) do
|
where(:gitlab_version_check, :result) do
|
||||||
[
|
[
|
||||||
[false, nil, false],
|
[nil, false],
|
||||||
[false, { "severity" => "success" }, false],
|
[{}, nil],
|
||||||
[false, { "severity" => "danger" }, false],
|
[{ "severity" => "success" }, nil],
|
||||||
[false, { "severity" => "danger", "critical_vulnerability" => 'some text' }, false],
|
[{ "severity" => "danger" }, nil],
|
||||||
[false, { "severity" => "danger", "critical_vulnerability" => 'false' }, false],
|
[{ "severity" => "danger", "critical_vulnerability" => 'some text' }, nil],
|
||||||
[false, { "severity" => "danger", "critical_vulnerability" => false }, false],
|
[{ "severity" => "danger", "critical_vulnerability" => 'false' }, false],
|
||||||
[false, { "severity" => "danger", "critical_vulnerability" => 'true' }, false],
|
[{ "severity" => "danger", "critical_vulnerability" => false }, false],
|
||||||
[false, { "severity" => "danger", "critical_vulnerability" => true }, false],
|
[{ "severity" => "danger", "critical_vulnerability" => 'true' }, true],
|
||||||
[true, nil, false],
|
[{ "severity" => "danger", "critical_vulnerability" => true }, true]
|
||||||
[true, { "severity" => "success" }, nil],
|
|
||||||
[true, { "severity" => "danger" }, nil],
|
|
||||||
[true, { "severity" => "danger", "critical_vulnerability" => 'some text' }, nil],
|
|
||||||
[true, { "severity" => "danger", "critical_vulnerability" => 'false' }, false],
|
|
||||||
[true, { "severity" => "danger", "critical_vulnerability" => false }, false],
|
|
||||||
[true, { "severity" => "danger", "critical_vulnerability" => 'true' }, true],
|
|
||||||
[true, { "severity" => "danger", "critical_vulnerability" => true }, true]
|
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
with_them do
|
with_them do
|
||||||
before do
|
before do
|
||||||
allow(helper).to receive(:show_version_check?).and_return(show_version_check)
|
|
||||||
allow(helper).to receive(:gitlab_version_check).and_return(gitlab_version_check)
|
allow(helper).to receive(:gitlab_version_check).and_return(gitlab_version_check)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue