/features/steps/env.rb

http://github.com/jnunemaker/httparty · Ruby · 27 lines · 23 code · 4 blank · 0 comment · 2 complexity · a0d9904781113463c77f434d99a5ac11 MD5 · raw file

  1. require 'mongrel'
  2. require './lib/httparty'
  3. require 'rspec/expectations'
  4. require 'aruba/cucumber'
  5. def run_server(port)
  6. @host_and_port = "0.0.0.0:#{port}"
  7. @server = Mongrel::HttpServer.new("0.0.0.0", port)
  8. @server.run
  9. @request_options = {}
  10. end
  11. def new_port
  12. server = TCPServer.new('0.0.0.0', nil)
  13. port = server.addr[1]
  14. ensure
  15. server.close
  16. end
  17. Before('~@command_line') do
  18. port = ENV["HTTPARTY_PORT"] || new_port
  19. run_server(port)
  20. end
  21. After do
  22. @server.stop if @server
  23. end