Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions lib/fbe/fake_octokit.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,14 @@ def auto_paginate; end

# Returns a mock rate limit object.
#
# @return [Object] An object with a remaining method that returns 100
# @return [Object] An object with +limit+, +remaining+, +resets_at+ and +resets_in+,
# the same four that +Octokit::RateLimit+ has
# @example
# fake_client = Fbe::FakeOctokit.new
# fake_client.rate_limit.remaining #=> 100
# fake_client.rate_limit.limit #=> 5000
def rate_limit
Veil.new(nil, remaining: 100)
Veil.new(nil, limit: 5000, remaining: 100, resets_at: Time.now + 3600, resets_in: 3600)
end

alias rate_limit! rate_limit
Expand Down
7 changes: 7 additions & 0 deletions test/fbe/test_octo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1672,4 +1672,11 @@ def test_fake_workflow_run_always_has_status
refute_nil(result[:repository], "for workflow run #{id}")
end
end

def test_fake_rate_limit_has_the_fields_of_the_real_one
r = Fbe::FakeOctokit.new.rate_limit
assert_equal([5000, 100], [r.limit, r.remaining])
assert_operator(r.resets_at, :>, Time.now)
assert_predicate(r.resets_in, :positive?)
end
end
Loading