Sha256: f19a1ac6c4df8665928cc5f50caf628ce0302d22db69510cf87f3c66a4836521
Contents?: true
Size: 1.68 KB
Versions: 5
Compression:
Stored size: 1.68 KB
Contents
# frozen_string_literal: true require "cases/helper" module ActiveRecord module ConnectionAdapters class AdapterLeasingTest < ActiveRecord::TestCase class Pool < ConnectionPool def insert_connection_for_test!(c) synchronize do adopt_connection(c) @available.add c end end end def setup @adapter = AbstractAdapter.new nil, nil end def test_in_use? assert_not @adapter.in_use?, "adapter is not in use" assert @adapter.lease, "lease adapter" assert @adapter.in_use?, "adapter is in use" end def test_lease_twice assert @adapter.lease, "should lease adapter" assert_raises(ActiveRecordError) do @adapter.lease end end def test_expire_mutates_in_use assert @adapter.lease, "lease adapter" assert @adapter.in_use?, "adapter is in use" @adapter.expire assert_not @adapter.in_use?, "adapter is in use" end def test_close db_config = ActiveRecord::DatabaseConfigurations::HashConfig.new("test", "primary", {}) pool_config = ActiveRecord::ConnectionAdapters::PoolConfig.new(ActiveRecord::Base, db_config) pool = Pool.new(pool_config) pool.insert_connection_for_test! @adapter @adapter.pool = pool # Make sure the pool marks the connection in use assert_equal @adapter, pool.connection assert_predicate @adapter, :in_use? # Close should put the adapter back in the pool @adapter.close assert_not_predicate @adapter, :in_use? assert_equal @adapter, pool.connection end end end end
Version data entries
5 entries across 5 versions & 1 rubygems