Sha256: 25e1d86e3f556fb474709e35c12b2bcdb1c74346526ebd429981c07e161dba71
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
if RUBY_PLATFORM != 'opal' class TestTask < Volt::Task def allowed_method(arg1, arg2) 'yes' + arg1 + arg2 end end describe Volt::Dispatcher do before do Volt.logger = spy('Volt::VoltLogger') end it 'should only allow method calls on Task or above in the inheritance chain' do channel = double('channel') expect(channel).to receive(:send_message).with('response', 0, 'yes it works', nil) Volt::Dispatcher.new.dispatch(channel, [0, 'TestTask', :allowed_method, {}, ' it', ' works']) end it 'should not allow eval' do channel = double('channel') expect(channel).to receive(:send_message).with('response', 0, nil, RuntimeError.new('unsafe method: eval')) Volt::Dispatcher.new.dispatch(channel, [0, 'TestTask', :eval, '5 + 10']) end it 'should not allow instance_eval' do channel = double('channel') expect(channel).to receive(:send_message).with('response', 0, nil, RuntimeError.new('unsafe method: instance_eval')) Volt::Dispatcher.new.dispatch(channel, [0, 'TestTask', :instance_eval, '5 + 10']) end it 'should not allow #methods' do channel = double('channel') expect(channel).to receive(:send_message).with('response', 0, nil, RuntimeError.new('unsafe method: methods')) Volt::Dispatcher.new.dispatch(channel, [0, 'TestTask', :methods]) end it 'should log an info message before and after the dispatch' do channel = double('channel') allow(channel).to receive(:send_message).with('response', 0, 'yes it works', nil) expect(Volt.logger).to receive(:log_dispatch) Volt::Dispatcher.new.dispatch(channel, [0, 'TestTask', :allowed_method, {}, ' it', ' works']) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
volt-0.9.2 | spec/tasks/dispatcher_spec.rb |