Sha256: 144e6b6fca9afa022008e89e8ee564a2e7e4128b5e8f36fae4009ffc5ab0a412

Contents?: true

Size: 949 Bytes

Versions: 12

Compression:

Stored size: 949 Bytes

Contents

require "spec_helper"

describe Rack::API, "Short circuit" do
  before do
    Rack::API.app do
      version :v1 do
        get("/") { error :status => 412, :headers => {"X-Awesome" => "UR NO Awesome"}, :message => "ZOMG! Nothing to see here!" }
        get("/custom") do
          error_message = Object.new
          def error_message.to_rack
            [412, {"X-Awesome" => "UR NO Awesome Indeed"}, ["Keep going!"]]
          end

          error(error_message)
        end
      end
    end
  end

  it "renders hash error" do
    get "/v1"
    last_response.status.should == 412
    last_response.headers["X-Awesome"].should == "UR NO Awesome"
    last_response.body.should == "ZOMG! Nothing to see here!"
  end

  it "renders object#to_rack method" do
    get "/v1/custom"
    last_response.status.should == 412
    last_response.headers["X-Awesome"].should == "UR NO Awesome Indeed"
    last_response.body.should == "Keep going!"
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rack-api-1.1.0 spec/rack-api/short_circuit_spec.rb
rack-api-1.0.2 spec/rack-api/short_circuit_spec.rb
rack-api-1.0.1 spec/rack-api/short_circuit_spec.rb
rack-api-1.0.0 spec/rack-api/short_circuit_spec.rb
rack-api-0.3.1 spec/rack-api/short_circuit_spec.rb
rack-api-0.3.0 spec/rack-api/short_circuit_spec.rb
rack-api-0.2.2 spec/rack-api/short_circuit_spec.rb
rack-api-0.2.1 spec/rack-api/short_circuit_spec.rb
rack-api-0.2.0 spec/rack-api/short_circuit_spec.rb
rack-api-0.1.2 spec/rack-api/short_circuit_spec.rb
rack-api-0.1.1 spec/rack-api/short_circuit_spec.rb
rack-api-0.1.0 spec/rack-api/short_circuit_spec.rb