Sha256: 17dfcccdb183b07f84e0210d922644673fc44f8713dd220a815bb1c20fc0a794

Contents?: true

Size: 1.77 KB

Versions: 12

Compression:

Stored size: 1.77 KB

Contents

Feature: Faraday middleware

  VCR provides middleware that can be used with Faraday.  You can use this as
  an alternative to Faraday's built-in test adapter.

  VCR will automatically insert this middleware in the Faraday stack
  when you configure `hook_into :faraday`. However, if you want to control
  where the middleware goes in the faraday stack, you can use it yourself.
  The middleware should come before the Faraday HTTP adapter.

  Note that when you use the middleware directly, you don't need to configure
  `hook_into :faraday`.

  Scenario Outline: Use Faraday middleware
    Given a file named "faraday_example.rb" with:
      """ruby
      request_count = 0
      start_sinatra_app(:port => 7777) do
        get('/:path') { "Hello #{params[:path]} #{request_count += 1}" }
      end

      require 'faraday'
      require 'vcr'
      <extra_require>

      VCR.configure do |c|
        c.default_cassette_options = { :serialize_with => :syck }
        c.cassette_library_dir = 'cassettes'
      end

      conn = Faraday::Connection.new(:url => 'http://localhost:7777') do |builder|
        builder.use VCR::Middleware::Faraday
        builder.adapter :<adapter>
      end

      VCR.use_cassette('example') do
        puts "Response 1: #{conn.get('/foo').body}"
      end

      VCR.use_cassette('example') do
        puts "Response 2: #{conn.get('/foo').body}"
      end
      """
    When I run `ruby faraday_example.rb`
    Then the output should contain:
      """
      Response 1: Hello foo 1
      Response 2: Hello foo 1
      """
    And the file "cassettes/example.yml" should contain "Hello foo 1"

    Examples:
      | adapter  | extra_require                       |
      | net_http |                                     |
      | typhoeus | require 'typhoeus/adapters/faraday' |

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
dwolla_swagger-1.0.6 vendor/bundle/ruby/2.2.0/gems/vcr-2.9.3/features/middleware/faraday.feature
vcr-2.9.3 features/middleware/faraday.feature
vcr-2.9.2 features/middleware/faraday.feature
vcr-2.9.1 features/middleware/faraday.feature
vcr-2.9.0 features/middleware/faraday.feature
social_url_stats-0.0.1 vendor/ruby/1.9.1/gems/vcr-2.8.0/features/middleware/faraday.feature
vcr-2.8.0 features/middleware/faraday.feature
vcr-2.7.0 features/middleware/faraday.feature
vcr-2.6.0 features/middleware/faraday.feature
vcr-2.5.0 features/middleware/faraday.feature
vcr-2.4.0 features/middleware/faraday.feature
vcr-2.3.0 features/middleware/faraday.feature