fbe 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50140dbca73e4022726fad153402221b92d01a94f1cfc22eeb8f382170f0b4bc
4
- data.tar.gz: 8fc5d55bc4b46f57dadb0bb36bd5461f2253bef19e143fb15704263e64d0ccd8
3
+ metadata.gz: 3201ffc4c057451b41320d5fd1b93a856802015dd3dbfee82dc4859a8cb90eab
4
+ data.tar.gz: e1a340dc3d5315d7ee1b5f1087729cc4f22f06bb363c47a478fe5b25716c29e9
5
5
  SHA512:
6
- metadata.gz: ce99b5a1ad7500b952a731a863497b50b0f7b553a1b4521202149f1878d8b9e8eef8af79438d7ab96cb8ac238182a6ad044a98e82677efbc439d4a5ce39a6bfd
7
- data.tar.gz: d51c72a5299c03aeb1e1bf20839a94e3d1c05fc679c6d32c8959d8634d2a9cdfa080082950358e33ba62bda4242dd8231f11bbb2a7f7752165c9fd5f7e04f5e6
6
+ metadata.gz: 807f80b0aaa6b93995d57144b2cf129365a0d0646d33b5d53f841b9287abe52bdfd47d2040e7583ee10acf9f97d6578d94be6f714149764fa8dac3e967e209db
7
+ data.tar.gz: 0f94c246a1f2ab9132b1dc80fca6c7207ce274b03ce4524dc9b01c7d574cc51e9c97e045fd00a2f5c2749b1a8b62f05496c1b3638e006796c6331bf714cc9f37
data/lib/fbe/octo.rb CHANGED
@@ -50,7 +50,8 @@ def Fbe.octo(options: $options, global: $global, loog: $loog)
50
50
  loog.warn('The GitHub API token is an empty string, won\'t use it')
51
51
  else
52
52
  o = Octokit::Client.new(access_token: token)
53
- loog.info("Accessing GitHub API with a token (#{token.length} chars, ending by #{token[-4..].inspect})")
53
+ loog.info("Accessing GitHub API with a token (#{token.length} chars, ending by #{token[-4..].inspect}, " \
54
+ "#{Octokit::Client.new(access_token: token).rate_limit.remaining} quota remaining)")
54
55
  end
55
56
  o.auto_paginate = true
56
57
  o.per_page = 100
@@ -193,6 +194,7 @@ class Fbe::FakeOctokit
193
194
  # fake_client.user(526_301) #=> {:id=>444, :login=>"yegor256", :type=>"User"}
194
195
  # fake_client.user('octocat') #=> {:id=>444, :login=>nil, :type=>"User"}
195
196
  def user(uid)
197
+ raise Octokit::NotFound if [404_001, 404_002].include?(uid)
196
198
  login = (uid == 526_301 ? 'yegor256' : 'torvalds') if uid.is_a?(Integer)
197
199
  {
198
200
  id: 444,
@@ -269,6 +271,7 @@ class Fbe::FakeOctokit
269
271
  end
270
272
 
271
273
  def repository(name)
274
+ raise Octokit::NotFound if [404_123, 404_124].include?(name)
272
275
  {
273
276
  id: name_to_number(name),
274
277
  full_name: name.is_a?(Integer) ? 'yegor256/test' : name,
data/lib/fbe.rb CHANGED
@@ -10,5 +10,5 @@
10
10
  # License:: MIT
11
11
  module Fbe
12
12
  # Current version of the gem (changed by +.rultor.yml+ on every release)
13
- VERSION = '0.10.0' unless const_defined?(:VERSION)
13
+ VERSION = '0.11.0' unless const_defined?(:VERSION)
14
14
  end
@@ -132,6 +132,18 @@ class TestOcto < Fbe::Test
132
132
  assert(o.off_quota)
133
133
  end
134
134
 
135
+ def test_print_quota_left_while_initialize
136
+ WebMock.disable_net_connect!
137
+ stub_request(:get, 'https://api.github.com/rate_limit').to_return(
138
+ body: '{}', headers: { 'X-RateLimit-Remaining' => '1234' }
139
+ )
140
+ buf = Loog::Buffer.new
141
+ o = Fbe.octo(loog: buf, global: {}, options: Judges::Options.new({ 'github_token' => 'secret_github_token' }))
142
+ assert_match(/Accessing GitHub API with a token \(19 chars, ending by "oken", 1234 quota remaining\)/, buf.to_s)
143
+ assert_nil(o.last_response, 'Not to be requests until initialize main Octokit client, ' \
144
+ 'because middleware cached after first request and not apply after')
145
+ end
146
+
135
147
  def test_retrying
136
148
  WebMock.disable_net_connect!
137
149
  global = {}
@@ -250,4 +262,16 @@ class TestOcto < Fbe::Test
250
262
  o = Fbe.octo(loog: Loog::VERBOSE, global: {}, options: Judges::Options.new({ 'github_api_pause' => 0.01 }))
251
263
  refute_nil(o.off_quota)
252
264
  end
265
+
266
+ def test_fetches_fake_not_found_users
267
+ o = Fbe.octo(loog: Loog::NULL, global: {}, options: Judges::Options.new({ 'testing' => true }))
268
+ assert_raises(Octokit::NotFound) { o.user(404_001) }
269
+ assert_raises(Octokit::NotFound) { o.user(404_002) }
270
+ end
271
+
272
+ def test_fetches_fake_not_found_repos
273
+ o = Fbe.octo(loog: Loog::NULL, global: {}, options: Judges::Options.new({ 'testing' => true }))
274
+ assert_raises(Octokit::NotFound) { o.repository(404_123) }
275
+ assert_raises(Octokit::NotFound) { o.repository(404_124) }
276
+ end
253
277
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko