Sha256: b84cf07ca0b7b423d81430add23f8132628191a4d8457c4556ba5d91b9805c88

Contents?: true

Size: 1.14 KB

Versions: 24

Compression:

Stored size: 1.14 KB

Contents

require 'rails_helper'

describe LHC::Caching do
  before(:each) do
    LHC.config.interceptors = [LHC::Caching]
    LHC.config.endpoint(:local, 'http://local.ch', cache: true, cache_expires_in: 5.minutes)
    Rails.cache.clear
    # leverage the Typhoeus internal mock attribute in order to get Typhoeus evaluate the return_code
    # lib/typhoeus/response/status.rb:48
    allow_any_instance_of(Typhoeus::Response).to receive(:mock).and_return(false)
  end

  let!(:stub) { stub_request(:get, 'http://local.ch').to_return(status: 200, body: 'The Website') }

  it 'provides the correct response status for responses from cache' do
    stub
    # the real request provides the return_code
    allow_any_instance_of(Typhoeus::Response).to receive(:options)
      .and_return(code: 200, status_message: '', body: 'The Website', headers: nil, return_code: :ok)
    response = LHC.get(:local)
    expect(response.success?).to eq true
    # the cached response should get it from the cache
    allow_any_instance_of(Typhoeus::Response).to receive(:options).and_call_original
    cached_response = LHC.get(:local)
    expect(cached_response.success?).to eq true
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
lhc-6.1.3 spec/interceptors/caching/response_status_spec.rb
lhc-6.1.2 spec/interceptors/caching/response_status_spec.rb
lhc-6.1.1 spec/interceptors/caching/response_status_spec.rb
lhc-6.1.0 spec/interceptors/caching/response_status_spec.rb
lhc-6.0.1 spec/interceptors/caching/response_status_spec.rb
lhc-6.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-5.1.1 spec/interceptors/caching/response_status_spec.rb
lhc-5.1.0 spec/interceptors/caching/response_status_spec.rb
lhc-5.0.3 spec/interceptors/caching/response_status_spec.rb
lhc-5.0.2 spec/interceptors/caching/response_status_spec.rb
lhc-5.0.1 spec/interceptors/caching/response_status_spec.rb
lhc-5.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-4.0.2 spec/interceptors/caching/response_status_spec.rb
lhc-4.0.1 spec/interceptors/caching/response_status_spec.rb
lhc-core-interceptors-3.0.0 spec/caching/response_status_spec.rb
lhc-4.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-core-interceptors-2.4.0 spec/caching/response_status_spec.rb
lhc-core-interceptors-2.3.3 spec/caching/response_status_spec.rb
lhc-core-interceptors-2.3.2 spec/caching/response_status_spec.rb
lhc-core-interceptors-2.3.1 spec/caching/response_status_spec.rb