/usr/share/backgroundrb/test/server/test_master_proxy.rb is in libbackgroundrb-ruby1.8 1.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | require File.join(File.dirname(__FILE__) + "/..","bdrb_test_helper")
require "mocha"
context "Master proxy for reloadable workers" do
ENV["RAILS_ENV"] = "production"
setup do
BDRB_CONFIG.set({:schedules=>
{
:foo_worker => { :barbar => {:trigger_args=>"*/5 * * * * *", :data =>"Hello World" }},
:bar_worker => { :do_job => {:trigger_args=>"*/5 * * * * *", :data =>"Hello World" }}
},
:backgroundrb=> {:log => "foreground", :debug_log => false, :environment => "production", :port => 11006, :ip => "localhost"}
})
Packet::Reactor.stubs(:run)
@master_proxy = BackgrounDRb::MasterProxy.new
end
specify "should load schedule of workers which are reloadable" do
@master_proxy.reloadable_workers.should.not == []
@master_proxy.reloadable_workers.should.include(BarWorker)
@master_proxy.reloadable_workers.should.include(FooWorker)
@master_proxy.worker_triggers.should.not.be {}
assert @master_proxy.worker_triggers.keys.include?(:bar_worker)
assert @master_proxy.worker_triggers[:bar_worker].keys.include?(:do_job)
@master_proxy.worker_triggers[:bar_worker][:do_job].should.not.be { }
end
specify "load schedule should load schedule of worker specified" do
sleep(5)
sheep = mock()
sheep.expects(:send_request).at_most(4)
live_workers = Hash.new(sheep)
crap_reactor = mock()
crap_reactor.expects(:start_worker).at_most(2)
crap_reactor.expects(:live_workers).at_most(4).returns(live_workers)
@master_proxy.reactor = crap_reactor
@master_proxy.reload_workers
end
specify "should not run worker methods which are not ready to run" do
sleep(1)
sheep = mock()
sheep.expects(:send_request).at_most(4)
live_workers = Hash.new(sheep)
crap_reactor = mock()
crap_reactor.expects(:start_worker).at_most(2)
crap_reactor.expects(:live_workers).at_most(4).returns(live_workers)
@master_proxy.reactor = crap_reactor
@master_proxy.reload_workers
end
end
|