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 +4 -4
- data/lib/fbe/octo.rb +4 -1
- data/lib/fbe.rb +1 -1
- data/test/fbe/test_octo.rb +24 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3201ffc4c057451b41320d5fd1b93a856802015dd3dbfee82dc4859a8cb90eab
|
4
|
+
data.tar.gz: e1a340dc3d5315d7ee1b5f1087729cc4f22f06bb363c47a478fe5b25716c29e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/test/fbe/test_octo.rb
CHANGED
@@ -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
|