Sha256: 95c6745d14d428da671cf3321da53e5a4f6c003a0e05ee73982c176b6568bced

Contents?: true

Size: 791 Bytes

Versions: 12

Compression:

Stored size: 791 Bytes

Contents

Given /^the following Rack app:$/ do |definition|
  File.open(RACK_FILE, 'w') { |file| file.write(definition) }
end

When /^I perform a Rack request to "([^\"]*)"$/ do |url|
  shim_file = File.join(PROJECT_ROOT, 'features', 'support', 'airbrake_shim.rb.template')
  request_file = File.join(TEMP_DIR, 'rack_request.rb')
  File.open(request_file, 'w') do |file|
    file.puts "require 'rubygems'"
    file.puts IO.read(shim_file)
    file.puts IO.read(RACK_FILE)
    file.puts "env = Rack::MockRequest.env_for(#{url.inspect})"
    file.puts "status, headers, body = app.call(env)"
    file.puts %{puts "HTTP \#{status}"}
    file.puts %{headers.each { |key, value| puts "\#{key}: \#{value}"}}
    file.puts "body.each { |part| print part }"
  end
  @terminal.run("ruby #{request_file}")
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
airbrake-3.0.9 features/step_definitions/rack_steps.rb
airbrake-3.0.8 features/step_definitions/rack_steps.rb
airbrake-3.0.7 features/step_definitions/rack_steps.rb
airbrake-3.0.6 features/step_definitions/rack_steps.rb
airbrake-3.0.5 features/step_definitions/rack_steps.rb
airbrake-3.0.4 features/step_definitions/rack_steps.rb
airbrake-3.0.3 features/step_definitions/rack_steps.rb
airbrake-3.0.2 features/step_definitions/rack_steps.rb
airbrake-3.0.1 features/step_definitions/rack_steps.rb
airbrake-3.0 features/step_definitions/rack_steps.rb
airbrake-3.0.rc2 features/step_definitions/rack_steps.rb
airbrake-3.0.rc1 features/step_definitions/rack_steps.rb