module RackCheck::Spec
Constants
- ENV_RU
- STARTUP_TIMEOUT
Public Class Methods
load_tests()
click to toggle source
# File lib/rack_check/spec.rb, line 28 def self.load_tests require 'rack_check/spec/rackup' require 'rack_check/spec/env' end
run(app_server_command, app_server_port)
click to toggle source
# File lib/rack_check/spec.rb, line 16 def self.run(app_server_command, app_server_port) load_tests @@context = Context.new(app_server_command, app_server_port, STARTUP_TIMEOUT) # TODO there must be a better way to pass context to a rspec suite RSpec::Core::Runner.run([]) end
server_context()
click to toggle source
# File lib/rack_check/spec.rb, line 24 def self.server_context @@context end
Public Instance Methods
start_server(ru_file)
click to toggle source
# File lib/rack_check/spec/env.rb, line 18 def start_server(ru_file) @server = ServerManager.new(RackCheck::Spec::server_context, ru_file) @endpoint = @server.run end
stop_server()
click to toggle source
# File lib/rack_check/spec/env.rb, line 23 def stop_server @server.stop end
supports_hijack?()
click to toggle source
# File lib/rack_check/spec/env.rb, line 229 def supports_hijack? if @supports_hijack.nil? result = '' with_server(ENV_RU) do |endpoint| result = JSON.load HTTP.get(endpoint).to_s end @supports_hijack = result['rack.hijack?'] end @supports_hijack end
with_server(ru_file) { |start_server(ru_file)| ... }
click to toggle source
# File lib/rack_check/spec/env.rb, line 10 def with_server(ru_file) yield start_server(ru_file) rescue HTTP::ConnectionError => e raise e, "#{e.message}\n\nServer error:\n#{@server&.errors}", e.backtrace ensure stop_server end