Sha256: 642c59de0a9776daca3ff12a25cfa7129a0a719eb20e8944e011d03960f97c9d

Contents?: true

Size: 1.31 KB

Versions: 53

Compression:

Stored size: 1.31 KB

Contents

require "spec_helper"

describe Apipie::Extractor::Recorder::Middleware do
  let(:app) { lambda { |env| [200, env, "app"] } }
  let(:stack) { Apipie::Extractor::Recorder::Middleware.new(app) }
  let(:request) { Rack::MockRequest.new(stack) }
  let(:response) { request.get('/') }

  it 'correctly process request without recording' do
    expect(stack).not_to receive(:analyze)
    response
  end

  it "analyze request if recording is set" do
    Apipie.configuration.record = true
    expect(Apipie::Extractor.call_recorder).to receive(:analyse_env)
    expect(Apipie::Extractor.call_recorder).to receive(:analyse_response)
    expect(Apipie::Extractor).to receive(:clean_call_recorder)
    response
  end

  describe 'with a multipart post' do
    let(:form_hash) do
      {
        'stringbody' => 'this is a string body',
        'filebody' => {:head => 'X-Fake-Header: fake1\r\n'},
        'files' => {
          '0' => {:head => 'X-Fake-Header: fake2\r\n'}
        }
      }
    end

    let(:response) do
      request.post('/', 'rack.request.form_hash' => form_hash)
    end

    it 'reformats form parts' do
      Apipie.configuration.record = true
      # expect reformat_multipart_data to invoke content_disposition
      expect(Apipie::Extractor.call_recorder).to receive(:content_disposition)
      response
    end
  end
end

Version data entries

53 entries across 53 versions & 2 rubygems

Version Path
apipie-rails-1.4.2 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.4.1 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.4.0 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.3.0 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.2.3 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.2.2 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.2.1 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.2.0 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.1.0 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-1.0.0 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-0.9.4 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-0.9.3 spec/lib/apipie/extractor/recorder/middleware_spec.rb
apipie-rails-0.9.2 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.9.1 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.9.0 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.8.2 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.8.1 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.8.0 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.7.2 spec/lib/extractor/middleware_spec.rb
apipie-rails-0.7.1 spec/lib/extractor/middleware_spec.rb