Sha256: 8d103be7e23911b105774feb0fd89dcfa489738c86eb29a885566d4503218dea

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

require 'db/sqlite3'
require 'transaction'

class SQLite3TransactionTest < Test::Unit::TestCase
  include TransactionTestMethods
  
  def test_supports_transaction_isolation
    assert ActiveRecord::Base.connection.supports_transaction_isolation?
    # NOTE: adapter tell us it supports but JDBC meta-data API returns false ?!
    #assert ActiveRecord::Base.connection.supports_transaction_isolation?(:read_uncommitted)
    assert ActiveRecord::Base.connection.supports_transaction_isolation?(:serializable)
  end
  
  # supports only TRANSACTION_SERIALIZABLE and TRANSACTION_READ_UNCOMMITTED
  
  def test_transaction_isolation_read_committed
    assert ! ActiveRecord::Base.connection.supports_transaction_isolation?(:read_committed)
    
    assert_raise ActiveRecord::TransactionIsolationError do
      super
    end
  end if Test::Unit::TestCase.ar_version('4.0')
  
  def test_transaction_isolation_repeatable_read
    assert ! ActiveRecord::Base.connection.supports_transaction_isolation?(:repeatable_read)
    
    assert_raise ActiveRecord::TransactionIsolationError do
      super
    end
  end if Test::Unit::TestCase.ar_version('4.0')
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activerecord-jdbc-adapter-1.3.0.beta2 test/db/sqlite3/transaction_test.rb
activerecord-jdbc-adapter-1.3.0.beta1 test/db/sqlite3/transaction_test.rb