aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/helpers/test_supports_advisory_locks.rb
blob: 4905e177254976aa27207f7f8afb42e54cfb2a92 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

require "support/connection_helper"

module TestSupportsAdvisoryLocks
  include ConnectionHelper

  def test_supports_advisory_locks?
    assert ActiveRecord::Base.connection.supports_advisory_locks?

    run_without_connection do |orig_connection|
      ActiveRecord::Base.establish_connection(
        orig_connection.merge(advisory_locks: false)
      )

      assert_not ActiveRecord::Base.connection.supports_advisory_locks?

      ActiveRecord::Base.establish_connection(
        orig_connection.merge(advisory_locks: true)
      )

      assert ActiveRecord::Base.connection.supports_advisory_locks?
    end
  end
end