2020-05-24 23:13:21 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
RSpec.describe Gitlab::ConfigChecker::ExternalDatabaseChecker do
|
2020-05-24 23:13:21 +05:30
|
|
|
describe '#check' do
|
|
|
|
subject { described_class.check }
|
|
|
|
|
2020-10-24 23:57:45 +05:30
|
|
|
context 'when database meets minimum supported version' do
|
2020-05-24 23:13:21 +05:30
|
|
|
before do
|
2020-07-28 23:09:34 +05:30
|
|
|
allow(Gitlab::Database).to receive(:postgresql_minimum_supported_version?).and_return(true)
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
it { is_expected.to be_empty }
|
|
|
|
end
|
|
|
|
|
2020-10-24 23:57:45 +05:30
|
|
|
context 'when database does not meet minimum supported version' do
|
2020-05-24 23:13:21 +05:30
|
|
|
before do
|
2020-07-28 23:09:34 +05:30
|
|
|
allow(Gitlab::Database).to receive(:postgresql_minimum_supported_version?).and_return(false)
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
|
2020-10-24 23:57:45 +05:30
|
|
|
let(:notice_deprecated_database) do
|
|
|
|
{
|
|
|
|
type: 'warning',
|
|
|
|
message: _('You are using PostgreSQL %{pg_version_current}, but PostgreSQL ' \
|
|
|
|
'%{pg_version_minimum} is required for this version of GitLab. ' \
|
|
|
|
'Please upgrade your environment to a supported PostgreSQL version, ' \
|
|
|
|
'see %{pg_requirements_url} for details.') % {
|
|
|
|
pg_version_current: Gitlab::Database.version,
|
|
|
|
pg_version_minimum: Gitlab::Database::MINIMUM_POSTGRES_VERSION,
|
|
|
|
pg_requirements_url: '<a href="https://docs.gitlab.com/ee/install/requirements.html#database">database requirements</a>'
|
|
|
|
}
|
|
|
|
}
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
|
2020-10-24 23:57:45 +05:30
|
|
|
it 'reports deprecated database notice' do
|
|
|
|
is_expected.to contain_exactly(notice_deprecated_database)
|
2020-07-28 23:09:34 +05:30
|
|
|
end
|
2020-05-24 23:13:21 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|