diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
commit | 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch) | |
tree | 544930fb309b30317ae9797a9683768705d664c4 /spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb | |
parent | 4b1de649d0168371549608993deac953eb692019 (diff) |
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb b/spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb new file mode 100644 index 00000000000..6e1e53e0e41 --- /dev/null +++ b/spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::Database::PostgresqlAdapter::EmptyQueryPing do + describe '#active?' do + let(:adapter_class) do + Class.new do + include Gitlab::Database::PostgresqlAdapter::EmptyQueryPing + + def initialize(connection, lock) + @connection = connection + @lock = lock + end + end + end + + subject { adapter_class.new(connection, lock).active? } + + let(:connection) { double(query: nil) } + let(:lock) { double } + + before do + allow(lock).to receive(:synchronize).and_yield + end + + it 'uses an empty query to check liveness' do + expect(connection).to receive(:query).with(';') + + subject + end + + it 'returns true if no error was signaled' do + expect(subject).to be_truthy + end + + it 'returns false when an error occurs' do + expect(lock).to receive(:synchronize).and_raise(PG::Error) + + expect(subject).to be_falsey + end + end +end |