Skip to content

Commit cda4789

Browse files
committed
rescue forbidden user github error
1 parent d5cf443 commit cda4789

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

app/models/shipit/user.rb

+2
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ def refresh_from_github!
9595
update!(github_user: Shipit.github.api.user(github_id))
9696
rescue Octokit::NotFound
9797
identify_renamed_user!
98+
rescue Octokit::Forbidden
99+
Rails.logger.info("User #{name}, github_id #{github_id} has forbidden access to their GitHub, likely deleted.")
98100
end
99101

100102
def github_user=(github_user)

test/models/users_test.rb

+8
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,14 @@ class UsersTest < ActiveSupport::TestCase
203203
assert_equal '[email protected]', user.email
204204
end
205205

206+
test "#refresh_from_github! logs deleted users" do
207+
Shipit.github.api.expects(:user).with(@user.github_id).raises(Octokit::Forbidden)
208+
209+
Rails.logger.expects(:info).with("User #{@user.name}, github_id #{@user.github_id} has forbidden access to their GitHub, likely deleted.")
210+
211+
@user.refresh_from_github!
212+
end
213+
206214
test "#github_api uses the user's access token" do
207215
assert_equal @user.github_access_token, @user.github_api.access_token
208216
end

0 commit comments

Comments
 (0)