test_server.rb 887 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. require 'atto'
  2. include Atto::Test
  3. require_relative '../../lib/woe/client'
  4. require_relative '../../lib/woe/server'
  5. assert { Woe::Server }
  6. # Fork off the server so the Net::Telnet tests can procede
  7. pid = Process.fork do
  8. Woe::Server.run
  9. # exit here to ge
  10. puts __FILE__ + ' Server Done'
  11. exit 0
  12. end
  13. p pid
  14. assert { pid }
  15. require 'net/telnet'
  16. assert do
  17. sleep 1
  18. client = Net::Telnet.new('Host' => 'localhost', 'Port' => 7000,
  19. 'Timeout' => 3)
  20. res = client.waitfor(/Login:/)
  21. client.write("Axl\n")
  22. client.waitfor(/.*/)
  23. client.write("pass\n")
  24. client.waitfor(/.*/)
  25. client.write("hello\n")
  26. client.waitfor(/.*/)
  27. client.write("/quit\n")
  28. client.waitfor(/.*/)
  29. client.close
  30. ok = !!client
  31. ok
  32. end
  33. # Finally stop the server and wait for it to finish
  34. Process.kill(:TERM, pid)
  35. Process.wait(pid)
  36. puts __FILE__ + ' Tests Done'