Sha256: 4c137f702a25d6028325d55780903124d07b418a57094fc52a189cf7443d1c50

Contents?: true

Size: 1.14 KB

Versions: 49

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

describe LHC::Caching do
  before(:each) do
    LHC.config.interceptors = [LHC::Caching]
    LHC.config.endpoint(:local, 'http://local.ch', cache: true)
    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

49 entries across 49 versions & 1 rubygems

Version Path
lhc-15.2.1 spec/interceptors/caching/response_status_spec.rb
lhc-15.2.0 spec/interceptors/caching/response_status_spec.rb
lhc-15.1.3 spec/interceptors/caching/response_status_spec.rb
lhc-15.1.2 spec/interceptors/caching/response_status_spec.rb
lhc-15.1.1 spec/interceptors/caching/response_status_spec.rb
lhc-15.1.0 spec/interceptors/caching/response_status_spec.rb
lhc-16.0.0.pre.pro2162.2 spec/interceptors/caching/response_status_spec.rb
lhc-16.0.0.pre.pro2162 spec/interceptors/caching/response_status_spec.rb
lhc-15.0.1 spec/interceptors/caching/response_status_spec.rb
lhc-15.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-14.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-13.4.0.pre.pro1766.1 spec/interceptors/caching/response_status_spec.rb
lhc-13.2.0 spec/interceptors/caching/response_status_spec.rb
lhc-13.1.0 spec/interceptors/caching/response_status_spec.rb
lhc-13.0.0 spec/interceptors/caching/response_status_spec.rb
lhc-12.3.0 spec/interceptors/caching/response_status_spec.rb
lhc-12.2.1 spec/interceptors/caching/response_status_spec.rb
lhc-12.2.0 spec/interceptors/caching/response_status_spec.rb
lhc-12.1.3 spec/interceptors/caching/response_status_spec.rb
lhc-12.1.2 spec/interceptors/caching/response_status_spec.rb