spec/publish_spec.rb in sidekiq-bus-0.8.1 vs spec/publish_spec.rb in sidekiq-bus-0.8.2
- old
+ new
@@ -1,98 +1,98 @@
+# frozen_string_literal: true
+
require 'spec_helper'
-describe "Publishing an event" do
-
+describe 'Publishing an event' do
before(:each) do
Timecop.freeze
- allow(QueueBus).to receive(:generate_uuid).and_return("idfhlkj")
+ allow(QueueBus).to receive(:generate_uuid).and_return('idfhlkj')
end
after(:each) do
Timecop.return
end
- let(:bus_attrs) { {"bus_class_proxy"=>"QueueBus::Driver",
- "bus_published_at" => Time.now.to_i,
- "bus_id"=>"#{Time.now.to_i}-idfhlkj",
- "bus_app_hostname" => `hostname 2>&1`.strip.sub(/.local/,'')} }
+ let(:bus_attrs) do
+ { 'bus_class_proxy' => 'QueueBus::Driver',
+ 'bus_published_at' => Time.now.to_i,
+ 'bus_id' => "#{Time.now.to_i}-idfhlkj",
+ 'bus_app_hostname' => Socket.gethostname }
+ end
- it "should add it to Redis" do
- hash = {:one => 1, "two" => "here", "id" => 12 }
- event_name = "event_name"
+ it 'should add it to Redis' do
+ hash = { :one => 1, 'two' => 'here', 'id' => 12 }
+ event_name = 'event_name'
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
expect(val).to eq(nil)
QueueBus.publish(event_name, hash)
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
hash = JSON.parse(val)
- expect(hash["class"]).to eq("QueueBus::Worker")
- expect(hash["args"].size).to eq(1)
- expect(JSON.parse(hash["args"].first)).to eq({"bus_event_type" => event_name, "two"=>"here", "one"=>1, "id" => 12}.merge(bus_attrs))
-
+ expect(hash['class']).to eq('QueueBus::Worker')
+ expect(hash['args'].size).to eq(1)
+ expect(JSON.parse(hash['args'].first)).to eq({ 'bus_event_type' => event_name, 'two' => 'here', 'one' => 1, 'id' => 12 }.merge(bus_attrs))
end
- it "should use the id if given" do
- hash = {:one => 1, "two" => "here", "bus_id" => "app-given" }
- event_name = "event_name"
+ it 'should use the id if given' do
+ hash = { :one => 1, 'two' => 'here', 'bus_id' => 'app-given' }
+ event_name = 'event_name'
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
expect(val).to eq(nil)
QueueBus.publish(event_name, hash)
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
hash = JSON.parse(val)
- expect(hash["class"]).to eq("QueueBus::Worker")
- expect(hash["args"].size).to eq(1)
- expect(JSON.parse(hash["args"].first)).to eq({"bus_event_type" => event_name, "two"=>"here", "one"=>1}.merge(bus_attrs).merge("bus_id" => 'app-given'))
+ expect(hash['class']).to eq('QueueBus::Worker')
+ expect(hash['args'].size).to eq(1)
+ expect(JSON.parse(hash['args'].first)).to eq({ 'bus_event_type' => event_name, 'two' => 'here', 'one' => 1 }.merge(bus_attrs).merge('bus_id' => 'app-given'))
end
- it "should add metadata via callback" do
+ it 'should add metadata via callback' do
myval = 0
QueueBus.before_publish = lambda { |att|
- att["mine"] = 4
+ att['mine'] = 4
myval += 1
}
- hash = {:one => 1, "two" => "here", "bus_id" => "app-given" }
- event_name = "event_name"
+ hash = { :one => 1, 'two' => 'here', 'bus_id' => 'app-given' }
+ event_name = 'event_name'
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
expect(val).to eq(nil)
QueueBus.publish(event_name, hash)
-
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
hash = JSON.parse(val)
- att = JSON.parse(hash["args"].first)
- expect(att["mine"]).to eq(4)
+ att = JSON.parse(hash['args'].first)
+ expect(att['mine']).to eq(4)
expect(myval).to eq(1)
end
- it "should set the timezone and locale if available" do
+ it 'should set the timezone and locale if available' do
expect(defined?(I18n)).to be_nil
expect(Time.respond_to?(:zone)).to eq(false)
- stub_const("I18n", Class.new)
- allow(I18n).to receive(:locale).and_return("jp")
+ stub_const('I18n', Class.new)
+ allow(I18n).to receive(:locale).and_return('jp')
- allow(Time).to receive(:zone).and_return(double('zone', :name => "EST"))
+ allow(Time).to receive(:zone).and_return(double('zone', name: 'EST'))
- hash = {:one => 1, "two" => "here", "bus_id" => "app-given" }
- event_name = "event_name"
+ hash = { :one => 1, 'two' => 'here', 'bus_id' => 'app-given' }
+ event_name = 'event_name'
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
expect(val).to eq(nil)
QueueBus.publish(event_name, hash)
- val = QueueBus.redis { |redis| redis.lpop("queue:bus_incoming") }
+ val = QueueBus.redis { |redis| redis.lpop('queue:bus_incoming') }
hash = JSON.parse(val)
- expect(hash["class"]).to eq("QueueBus::Worker")
- att = JSON.parse(hash["args"].first)
- expect(att["bus_locale"]).to eq("jp")
- expect(att["bus_timezone"]).to eq("EST")
+ expect(hash['class']).to eq('QueueBus::Worker')
+ att = JSON.parse(hash['args'].first)
+ expect(att['bus_locale']).to eq('jp')
+ expect(att['bus_timezone']).to eq('EST')
end
-
end