Sha256: de29feabbf0d06e23aebc21f247748ddc87898ee9dfa9632ab6f994bb3b2e35a
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
require 'spec_helper' describe '#subscribe' do context 'got timeout' do before(:each) do @after_callback = false @after_error_callback = false @output = StringIO.new @error_output = StringIO.new @msg_output = StringIO.new @callback = lambda { |envelope| $log.debug 'FIRE CALLBACK' @after_callback = true @output.write envelope.response @msg_output.write envelope.msg EM.stop if EM.reactor_running? } @error_callback = lambda { |envelope| if envelope.is_a? Array $log.error envelope else @error_output.write envelope.response end @after_error_callback = true } @pn = Pubnub.new(:publish_key => :demo, :subscribe_key => :demo, :error_callback => @error_callback) @pn.session_uuid = nil end before(:each) do stub_request(:get, /http[s]?:\/\/pubsub.pubnub.com\/subscribe\/demo\/demo\/0\/\d+/). to_timeout. to_return(lambda { |request| { :body => [[{"text" => "hey"}],"#{/\d+$/.match(request.uri.path).to_s.to_i + 1}"].to_json, :status => '200', :headers => { 'Content-Type' => 'text/javascript; charset="UTF-8"' } } }) stub_request(:get, /http[s]?:\/\/pubsub.pubnub.com\/time\/0/). to_return( { :body => '[13804562752311765]', :status => 200, :headers => { 'Content-Type' => 'text/javascript; charset="UTF-8"' } } ) end it 'raises error callback with proper message and continue' do #binding.pry @pn.subscribe(:channel => :demo, :callback => @callback) until @after_callback do end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pubnub-3.4.1 | spec/lib/subscribe_timeout_spec.rb |