Sha256: 5bdfb9ecd157b31219bea7251b105589afd7b83ad6eb95c151e676dff05ad0f9
Contents?: true
Size: 871 Bytes
Versions: 1
Compression:
Stored size: 871 Bytes
Contents
# frozen_string_literal: true require 'rails_helper' require 'webmock/rspec' RSpec.describe Layers::ExternalFetcher do context 'retry' do it 'retries if a request fails' do times = 3 allow(subject).to receive(:response) do raise 'Hiccup' if (times -= 1).positive? 'THE_RESULT' end expect(subject.call.first).to eq('THE_RESULT') end it 'gives up after 3 retries' do times = 4 allow(subject).to receive(:response) do raise 'Hiccup' if (times -= 1).positive? 'Newer reach here' end expect(subject.call).to(include(status: :internal_server_error)) end end it "act's as Shrek, pusing request result forward" do stub_request(:get, 'http://enter_real_uri_here.stub/').to_return(status: 200, body: 'MyResult') expect(subject.call.first).to eq 'MyResult' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shrek-0.2.2 | examples/tree_pruning/spec/lib/layers/external_fetcher_spec.rb |