test/plezi_tests.rb in plezi-0.12.13 vs test/plezi_tests.rb in plezi-0.12.14
- old
+ new
@@ -342,51 +342,51 @@
rescue => e
puts " **** #url_for test FAILED TO RUN!!!"
puts e
end
- def test_placebo
+ def placebo_test
puts " * Starting placebo tests..."
ws = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/ws/placebo") {|ws| 'ME?'}
ws << " * Placebo WS connected."
sleep 2
ws.close
rescue => e
puts " **** Placebo test FAILED TO RUN!!!"
puts e
end
def test_websocket
- connection_test = broadcast_test = echo_test = unicast_test = false
+ connection_test = broadcast_test = echo_test = unicast_test = nil
begin
- ws4 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000") do |data|
+ ws4 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/") do |data|
if data == "unicast"
puts " * Websocket unicast testing: #{RESULTS[false]}"
unicast_test = :failed
end
end
- ws2 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000") do |data|
+ ws2 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/") do |data|
next unless @is_connected || !( (@is_connected = true) )
if data == "unicast"
puts " * Websocket unicast message test: #{RESULTS[false]}"
unicast_test = :failed
next
else
puts " * Websocket broadcast message test: #{RESULTS[broadcast_test = (data == 'echo test')]}"
go_test = false
end
end
- ws3 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000", on_open: -> { write 'get uuid' } ) do |data|
+ ws3 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/", on_open: -> { write 'get uuid' } ) do |data|
if data.match /uuid: ([^s]*)/
ws2 << "to: #{data.match(/^uuid: ([^s]*)/)[1]}"
puts " * Websocket UUID for unicast testing: #{data.match(/^uuid: ([^s]*)/)[1]}"
elsif data == "unicast"
- puts " * Websocket unicast testing: #{RESULTS[:waiting]}"
+ puts " * Websocket unicast testing: #{RESULTS[:waiting]} (target received data)"
unicast_test ||= true
end
end
puts " * Websocket client test: #{RESULTS[ws2 && true]}"
- ws1 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000") do |data|
+ ws1 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/") do |data|
unless @connected
puts " * Websocket connection message test: #{RESULTS[connection_test = (data == 'connected')]}"
@connected = true
write "echo test"
next
@@ -407,12 +407,11 @@
if remote.closed?
puts " * Extra Websocket Remote test (SSL: echo.websocket.org): #{RESULTS[false]}"
else
remote << "Hello websockets!"
end
- sleep 0.5
- [ws1, ws2, ws3, ws4, remote].each {|ws| ws.close}
+ Iodine.run_after(30) { [ws1, ws2, ws3, ws4, remote].each {|ws| ws.close} }
PL.on_shutdown {puts " * Websocket connection message test: #{RESULTS[connection_test]}" unless connection_test}
PL.on_shutdown {puts " * Websocket echo message test: #{RESULTS[echo_test]}" unless echo_test}
PL.on_shutdown {puts " * Websocket broadcast message test: #{RESULTS[broadcast_test]}" unless broadcast_test}
PL.on_shutdown {puts " * Websocket unicast message test: #{RESULTS[unicast_test]}"}
end
@@ -420,11 +419,11 @@
should_disconnect = false
ws = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/ws/size") do |data|
if should_disconnect
puts " * Websocket size disconnection test: #{RESULTS[false]}"
else
- puts " * Websocket message size test: got #{data.bytesize} bytes"
+ puts " * Websocket message size test: got #{data.bytesize} bytes starting with #{data[0..10]}"
end
end
ws.on_close do
puts " * Websocket size disconnection test: #{RESULTS[should_disconnect]}"
end
@@ -564,17 +563,19 @@
puts " --- Plezi #{Plezi::VERSION} will start a server, performing some tests."
puts " --- Starting tests"
puts " --- Failed tests should read: #{PleziTestTasks::RESULTS[false]}"
+ PleziTestTasks.run_tests
+
r = Plezi::Placebo.new PlaceboCtrl
puts " * Create Placebo test: #{PleziTestTasks::RESULTS[r && true]}"
puts " * Placebo admists to being placebo: #{PleziTestTasks::RESULTS[PlaceboCtrl.placebo?]}"
puts " * Regular controller answers placebo: #{PleziTestTasks::RESULTS[!PlaceboTestCtrl.placebo?]}"
+ PleziTestTasks.placebo_test
- PleziTestTasks.run_tests
-
shoutdown_test = false
Plezi.on_shutdown { puts " * Shutdown test: #{ PleziTestTasks::RESULTS[shoutdown_test] }" }
Plezi.on_shutdown { shoutdown_test = true }
+ puts "Press ^C to exit."
end