summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/patch/legacy_database_config_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/patch/legacy_database_config_spec.rb')
-rw-r--r--spec/lib/gitlab/patch/legacy_database_config_spec.rb126
1 files changed, 0 insertions, 126 deletions
diff --git a/spec/lib/gitlab/patch/legacy_database_config_spec.rb b/spec/lib/gitlab/patch/legacy_database_config_spec.rb
deleted file mode 100644
index b87e16f31ae..00000000000
--- a/spec/lib/gitlab/patch/legacy_database_config_spec.rb
+++ /dev/null
@@ -1,126 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Gitlab::Patch::LegacyDatabaseConfig do
- it 'module is included' do
- expect(Rails::Application::Configuration).to include(described_class)
- end
-
- describe 'config/database.yml' do
- let(:configuration) { Rails::Application::Configuration.new(Rails.root) }
-
- before do
- allow(File).to receive(:exist?).and_call_original
- allow(File).to receive(:exist?).with(Rails.root.join("config/database_geo.yml")).and_return(false)
-
- # The `AS::ConfigurationFile` calls `read` in `def initialize`
- # thus we cannot use `expect_next_instance_of`
- # rubocop:disable RSpec/AnyInstanceOf
- expect_any_instance_of(ActiveSupport::ConfigurationFile)
- .to receive(:read).with(Rails.root.join('config/database.yml')).and_return(database_yml)
- # rubocop:enable RSpec/AnyInstanceOf
- end
-
- shared_examples 'hash containing main: connection name' do
- it 'returns a hash containing only main:' do
- database_configuration = configuration.database_configuration
-
- expect(database_configuration).to match(
- "production" => { "main" => a_hash_including("adapter") },
- "development" => { "main" => a_hash_including("adapter" => "postgresql") },
- "test" => { "main" => a_hash_including("adapter" => "postgresql") }
- )
- end
- end
-
- context 'when a new syntax is used' do
- let(:database_yml) do
- <<-EOS
- production:
- main:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_production
- username: git
- password: "secure password"
- host: localhost
-
- development:
- main:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_development
- username: postgres
- password: "secure password"
- host: localhost
- variables:
- statement_timeout: 15s
-
- test: &test
- main:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_test
- username: postgres
- password:
- host: localhost
- prepared_statements: false
- variables:
- statement_timeout: 15s
- EOS
- end
-
- include_examples 'hash containing main: connection name'
-
- it 'configuration is not legacy one' do
- configuration.database_configuration
-
- expect(configuration.uses_legacy_database_config).to eq(false)
- end
- end
-
- context 'when a legacy syntax is used' do
- let(:database_yml) do
- <<-EOS
- production:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_production
- username: git
- password: "secure password"
- host: localhost
-
- development:
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_development
- username: postgres
- password: "secure password"
- host: localhost
- variables:
- statement_timeout: 15s
-
- test: &test
- adapter: postgresql
- encoding: unicode
- database: gitlabhq_test
- username: postgres
- password:
- host: localhost
- prepared_statements: false
- variables:
- statement_timeout: 15s
- EOS
- end
-
- include_examples 'hash containing main: connection name'
-
- it 'configuration is legacy' do
- configuration.database_configuration
-
- expect(configuration.uses_legacy_database_config).to eq(true)
- end
- end
- end
-end