Sha256: 6f8d0ce440f972b93500ea128429f7487a306e97d548b59612b51958a1ecc7d1
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
require 'spec_helper' require 'goliath/rack/validation/request_method' describe Goliath::Rack::Validation::RequestMethod do before(:each) do @app_headers = {'Content-Type' => 'asdf'} @app_body = {'a' => 'b'} @app = double('app').as_null_object @app.stub(:call).and_return([200, @app_headers, @app_body]) end it 'accepts an app' do lambda { Goliath::Rack::Validation::RequestMethod.new('my app') }.should_not raise_error end describe 'with defaults' do before(:each) do @env = {} @rm = Goliath::Rack::Validation::RequestMethod.new(@app, ['GET', 'POST']) end it 'raises error if method is invalid' do @env['REQUEST_METHOD'] = 'fubar' @rm.call(@env).should == [405, {'Allow' => 'GET, POST'}, {:error => "Invalid request method"}] end it 'allows valid methods through' do @env['REQUEST_METHOD'] = 'GET' @rm.call(@env).should == [200, @app_headers, @app_body] end it 'returns app status, headers and body' do @env['REQUEST_METHOD'] = 'POST' status, headers, body = @rm.call(@env) status.should == 200 headers.should == @app_headers body.should == @app_body end end it 'accepts methods on initialize' do rm = Goliath::Rack::Validation::RequestMethod.new('my app', ['GET', 'DELETE', 'HEAD']) rm.methods.should == ['GET', 'DELETE', 'HEAD'] end it 'accepts string method on initialize' do rm = Goliath::Rack::Validation::RequestMethod.new('my app', 'GET') rm.methods.should == ['GET'] end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
goliath-1.0.5 | spec/unit/rack/validation/request_method_spec.rb |
goliath-1.0.4 | spec/unit/rack/validation/request_method_spec.rb |