diff options
Diffstat (limited to 'spec/lib/gitlab/database/multi_threaded_migration_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/multi_threaded_migration_spec.rb | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/spec/lib/gitlab/database/multi_threaded_migration_spec.rb b/spec/lib/gitlab/database/multi_threaded_migration_spec.rb deleted file mode 100644 index 78dd9e88064..00000000000 --- a/spec/lib/gitlab/database/multi_threaded_migration_spec.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Gitlab::Database::MultiThreadedMigration do - let(:migration) do - Class.new { include Gitlab::Database::MultiThreadedMigration }.new - end - - describe '#connection' do - after do - Thread.current[described_class::MULTI_THREAD_AR_CONNECTION] = nil - end - - it 'returns the thread-local connection if present' do - Thread.current[described_class::MULTI_THREAD_AR_CONNECTION] = 10 - - expect(migration.connection).to eq(10) - end - - it 'returns the global connection if no thread-local connection was set' do - expect(migration.connection).to eq(ActiveRecord::Base.connection) - end - end - - describe '#with_multiple_threads' do - it 'starts multiple threads and yields the supplied block in every thread' do - output = Queue.new - - migration.with_multiple_threads(2) do - output << migration.connection.execute('SELECT 1') - end - - expect(output.size).to eq(2) - end - - it 'joins the threads when the join parameter is set' do - expect_any_instance_of(Thread).to receive(:join).and_call_original - - migration.with_multiple_threads(1) { } - end - end -end |