Sha256: 95982de2029b99969f4cca1881788db6596efc57e3f87f8ed87b7aa990885058

Contents?: true

Size: 1001 Bytes

Versions: 26

Compression:

Stored size: 1001 Bytes

Contents

require 'spec_helper'
require 'spec/support/rack_test'
require 'spec/support/events'
require 'routemaster/middleware/root_post_only'

describe Routemaster::Middleware::RootPostOnly do
  let(:terminator) { ErrorRackApp.new }
  let(:app) { described_class.new(terminator) }

  describe '#call' do
    it 'passes for POST to root' do
      post '/'
      expect(last_response.status).to eq(501)
    end

    it '405s on non-POST' do
      get '/'
      expect(last_response.status).to eq(405)
    end

    it '404s on non-root path' do
      get '/why_not_even'
      expect(last_response.status).to eq(404)
    end

    context 'when mounted under another path' do
      let(:app) do
        Rack::Builder.new do
          map '/what' do
            use Routemaster::Middleware::RootPostOnly
            run ErrorRackApp.new
          end
        end
      end

      it 'passes for POST to mountpoint' do
        post '/what'
        expect(last_response.status).to eq(501)
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
routemaster-drain-3.7.1 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.7.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.8 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.7 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.6 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.5 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.4 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.3 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.2 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.1 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.6.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.5.1 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.5.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.4.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.3.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.2.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.1.0 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.0.3 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.0.2 spec/routemaster/middleware/root_post_only_spec.rb
routemaster-drain-3.0.1 spec/routemaster/middleware/root_post_only_spec.rb