Sha256: 879a87219dd89315ad0eb0d23213fafee0dc28045795947f65836595b65f6a53

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

require "webrat/selenium/silence_stream"

module Webrat
  module Selenium
    module ApplicationServers
      class Base
        include Webrat::Selenium::SilenceStream

        def boot
          start
          wait
          stop_at_exit
        end

        def stop_at_exit
          at_exit do
            stop
          end
        end

        def wait
          $stderr.print "==> Waiting for #{Webrat.configuration.application_framework} application server on port #{Webrat.configuration.application_port}... "
          wait_for_socket
          $stderr.print "Ready!\n"
        end

        def wait_for_socket
          silence_stream(STDOUT) do
            TCPSocket.wait_for_service_with_timeout \
              :host     => "0.0.0.0",
              :port     => Webrat.configuration.application_port.to_i,
              :timeout  => Webrat.configuration.selenium_browser_startup_timeout
          end
          rescue SocketError
          fail
        end

        def prepare_pid_file(file_path, pid_file_name)
          FileUtils.mkdir_p File.expand_path(file_path)
          File.expand_path("#{file_path}/#{pid_file_name}")
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cynergy-webrat-0.6.0 lib/webrat/selenium/application_servers/base.rb