Sha256: 0e929b5249dc02dabe2efa0976523b0c4b1fe621ce3301ee7ec5d35550cf43ea

Contents?: true

Size: 1022 Bytes

Versions: 8

Compression:

Stored size: 1022 Bytes

Contents

require 'spec_helper'

describe "transaction" do
  before(:all) do
    reload_turntable!(File.join(File.dirname(__FILE__), "../../config/turntable.yml"))
  end

  before(:each) do
    establish_connection_to(:test)
    truncate_shard
  end
  let(:clusters) { ActiveRecord::Base.turntable_clusters }

  describe "all_cluster_transaction" do
    let(:all_clusters) { clusters.values.map { |v| v.values.first } }
    let(:shards) { all_clusters.map { |c| c.shards.values }.flatten(1) }

    it "all shards should begin transaction" do
      User.all_cluster_transaction {
        expect(shards.map(&:connection).map(&:open_transactions)).to all(be == 1)
      }
    end
  end

  describe "cluster_transaction" do
    let(:cluster) { clusters[:user_cluster].values.first }
    let(:shards) { cluster.shards.values }

    it "all shards in the cluster should begin transaction" do
      User.user_cluster_transaction {
        expect(shards.map(&:connection).map(&:open_transactions)).to all(be == 1)
      }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
activerecord-turntable-2.0.6 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.5 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.4 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.3 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.2 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.1 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.0 spec/active_record/turntable/transaction_spec.rb
activerecord-turntable-2.0.0.rc1 spec/active_record/turntable/transaction_spec.rb