spec/slavery_spec.rb in slavery-3.0.0 vs spec/slavery_spec.rb in slavery-4.0.0

- old
+ new

@@ -1,68 +1,68 @@ require 'spec_helper' -describe Slavery do - def slavery_value - Thread.current[:slavery] +describe Standby do + def standby_value + Thread.current[:_standby] end - def on_slave? - slavery_value == :slave + def on_standby? + standby_value == :standby end it 'sets thread local' do - Slavery.on_master { expect(slavery_value).to be :master } - Slavery.on_slave { expect(slavery_value).to be :slave } - Slavery.on_slave(:two) { expect(slavery_value).to be :slave_two} + Standby.on_primary { expect(standby_value).to be :primary } + Standby.on_standby { expect(standby_value).to be :standby } + Standby.on_standby(:two) { expect(standby_value).to be :standby_two} end it 'returns value from block' do - expect(Slavery.on_master { User.count }).to be 2 - expect(Slavery.on_slave { User.count }).to be 1 - expect(Slavery.on_slave(:two) { User.count }).to be 0 + expect(Standby.on_primary { User.count }).to be 2 + expect(Standby.on_standby { User.count }).to be 1 + expect(Standby.on_standby(:two) { User.count }).to be 0 end it 'handles nested calls' do - # Slave -> Slave - Slavery.on_slave do - expect(on_slave?).to be true + # Standby -> Standby + Standby.on_standby do + expect(on_standby?).to be true - Slavery.on_slave do - expect(on_slave?).to be true + Standby.on_standby do + expect(on_standby?).to be true end - expect(on_slave?).to be true + expect(on_standby?).to be true end - # Slave -> Master - Slavery.on_slave do - expect(on_slave?).to be true + # Standby -> Primary + Standby.on_standby do + expect(on_standby?).to be true - Slavery.on_master do - expect(on_slave?).to be false + Standby.on_primary do + expect(on_standby?).to be false end - expect(on_slave?).to be true + expect(on_standby?).to be true end end it 'raises error in transaction' do User.transaction do - expect { Slavery.on_slave { User.first } }.to raise_error(Slavery::Error) + expect { Standby.on_standby { User.first } }.to raise_error(Standby::Error) end end it 'disables by configuration' do - backup = Slavery.disabled + backup = Standby.disabled - Slavery.disabled = false - Slavery.on_slave { expect(slavery_value).to be :slave } + Standby.disabled = false + Standby.on_standby { expect(standby_value).to be :standby } - Slavery.disabled = true - Slavery.on_slave { expect(slavery_value).to be :master } + Standby.disabled = true + Standby.on_standby { expect(standby_value).to be :primary } - Slavery.disabled = backup + Standby.disabled = backup end it 'avoids stack overflow with 3rdparty gem that defines alias_method. namely newrelic...' do class ActiveRecord::Relation alias_method :calculate_without_thirdparty, :calculate @@ -77,31 +77,31 @@ class ActiveRecord::Relation alias_method :calculate, :calculate_without_thirdparty end end - it 'works with nils like slave' do - expect(User.on_slave(nil).count).to be User.on_slave.count + it 'works with nils like standby' do + expect(User.on_standby(nil).count).to be User.on_standby.count end it 'raises on blanks and strings' do - expect { User.on_slave("").count }.to raise_error(Slavery::Error) - expect { User.on_slave("two").count }.to raise_error(Slavery::Error) - expect { User.on_slave("slave").count }.to raise_error(Slavery::Error) + expect { User.on_standby("").count }.to raise_error(Standby::Error) + expect { User.on_standby("two").count }.to raise_error(Standby::Error) + expect { User.on_standby("standby").count }.to raise_error(Standby::Error) end it 'raises with non existent extension' do - expect { Slavery.on_slave(:non_existent) { User.first } }.to raise_error(Slavery::Error) + expect { Standby.on_standby(:non_existent) { User.first } }.to raise_error(Standby::Error) end it 'works with any scopes' do expect(User.count).to be 2 - expect(User.on_slave(:two).count).to be 0 - expect(User.on_slave.count).to be 1 + expect(User.on_standby(:two).count).to be 0 + expect(User.on_standby.count).to be 1 # Why where(nil)? # http://stackoverflow.com/questions/18198963/with-rails-4-model-scoped-is-deprecated-but-model-all-cant-replace-it expect(User.where(nil).to_a.size).to be 2 - expect(User.on_slave(:two).where(nil).to_a.size).to be 0 - expect(User.on_slave.where(nil).to_a.size).to be 1 + expect(User.on_standby(:two).where(nil).to_a.size).to be 0 + expect(User.on_standby.where(nil).to_a.size).to be 1 end end