Sha256: 7e858edc7622edeff811cf9b35357188ad729bd48c5a876102f358528e4a82a2
Contents?: true
Size: 850 Bytes
Versions: 6
Compression:
Stored size: 850 Bytes
Contents
# frozen_string_literal: true require 'spec_helper' RSpec.describe Zendesk2::RateLimit do class Puppet def self.add_response(response) responses.unshift(response) end def self.responses @responses ||= [] end def self.call(_env) responses.shift || raise('not response set') end end it 'should delay requests for the specified time' do client = Faraday.new do |connection| connection.use Zendesk2::RateLimit connection.adapter :rack, Puppet end Puppet.responses << [429, { 'Retry-After' => 0.1 }, []] Puppet.responses << [429, { 'Retry-After' => 0.2 }, []] Puppet.responses << [200, {}, ['something']] response = client.get('/') expect(response.status).to eq(200) expect(response.headers[:rate_limits].to_s).to match(/^0\.3/) # ugh float math end end
Version data entries
6 entries across 6 versions & 1 rubygems