slack-ruby-client
slack-ruby-client copied to clipboard
Don't rely on echo.websocket.org for testing
This causes transient failures when the echo server is down or overloaded from https://github.com/slack-ruby/slack-ruby-client/blob/master/spec/slack/real_time/concurrency/celluloid_spec.rb#L8. Start a WS echo server locally and talk to it instead.
2) Slack::RealTime::Concurrency::Celluloid::Socket with url finishing run_loop with Errno::EPIPE with a driver consumes data runs
Failure/Error: socket = ::Celluloid::IO::TCPSocket.new(addr, port)
Errno::ECONNREFUSED:
Connection refused - connect(2) for 174.129.224.73:443
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-io-0.17.3/lib/celluloid/io/tcp_socket.rb:120:in `create_socket'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-io-0.17.3/lib/celluloid/io/tcp_socket.rb:53:in `initialize'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-io-0.17.3/lib/celluloid/io/socket.rb:39:in `new'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-io-0.17.3/lib/celluloid/io/socket.rb:39:in `new'
# ./lib/slack/real_time/concurrency/celluloid.rb:97:in `build_socket'
# ./lib/slack/real_time/concurrency/celluloid.rb:33:in `run_loop'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/calls.rb:28:in `public_send'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/calls.rb:28:in `dispatch'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/call/sync.rb:16:in `dispatch'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/cell.rb:50:in `block in dispatch'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/cell.rb:76:in `block in task'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/actor.rb:339:in `block in task'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/task.rb:44:in `block in initialize'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/task/fibered.rb:14:in `block in create'
# (celluloid):0:in `remote procedure call'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/call/sync.rb:45:in `value'
# /Users/dblock/.rvm/gems/ruby-2.4.1/gems/celluloid-0.17.3/lib/celluloid/proxy/sync.rb:22:in `method_missing'
# ./spec/slack/real_time/concurrency/celluloid_spec.rb:51:in `block (7 levels) in <top (required)>'