57 lines
1.6 KiB
Ruby
57 lines
1.6 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
describe Gitlab::ConfigChecker::ExternalDatabaseChecker do
|
||
|
describe '#check' do
|
||
|
subject { described_class.check }
|
||
|
|
||
|
context 'database version is not deprecated' do
|
||
|
before do
|
||
|
allow(described_class).to receive(:db_version_deprecated?).and_return(false)
|
||
|
end
|
||
|
|
||
|
it { is_expected.to be_empty }
|
||
|
end
|
||
|
|
||
|
context 'database version is deprecated' do
|
||
|
before do
|
||
|
allow(described_class).to receive(:db_version_deprecated?).and_return(true)
|
||
|
end
|
||
|
|
||
|
let(:notice_deprecated_database) do
|
||
|
{
|
||
|
type: 'warning',
|
||
|
message: _('Note that PostgreSQL 11 will become the minimum required PostgreSQL version in GitLab 13.0 (May 2020). '\
|
||
|
'PostgreSQL 9.6 and PostgreSQL 10 will no longer be supported in GitLab 13.0. '\
|
||
|
'Please consider upgrading your PostgreSQL version (%{db_version}) soon.') % { db_version: Gitlab::Database.version.to_s }
|
||
|
}
|
||
|
end
|
||
|
|
||
|
it 'reports deprecated database notices' do
|
||
|
is_expected.to contain_exactly(notice_deprecated_database)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe '#db_version_deprecated' do
|
||
|
subject { described_class.db_version_deprecated? }
|
||
|
|
||
|
context 'database version is not deprecated' do
|
||
|
before do
|
||
|
allow(Gitlab::Database).to receive(:version).and_return(11)
|
||
|
end
|
||
|
|
||
|
it { is_expected.to be false }
|
||
|
end
|
||
|
|
||
|
context 'database version is deprecated' do
|
||
|
before do
|
||
|
allow(Gitlab::Database).to receive(:version).and_return(10)
|
||
|
end
|
||
|
|
||
|
it { is_expected.to be true }
|
||
|
end
|
||
|
end
|
||
|
end
|