2021-09-30 14:11:31 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
|
|
|
|
2021-11-15 13:12:21 -05:00
|
|
|
RSpec.describe 'OmniAuth::Strategies::OAuth2' do
|
2021-09-30 14:11:31 -04:00
|
|
|
it 'verifies the gem version' do
|
|
|
|
current_version = OmniAuth::OAuth2::VERSION
|
2021-11-15 13:12:21 -05:00
|
|
|
expected_version = '1.7.2'
|
2021-09-30 14:11:31 -04:00
|
|
|
|
|
|
|
expect(current_version).to eq(expected_version), <<~EOF
|
|
|
|
New version #{current_version} of the `omniauth-oauth2` gem detected!
|
|
|
|
|
|
|
|
Please check if the monkey patches in `config/initializers_before_autoloader/100_patch_omniauth_oauth2.rb`
|
|
|
|
are still needed, and either update/remove them, or bump the version in this spec.
|
|
|
|
|
|
|
|
EOF
|
|
|
|
end
|
|
|
|
|
2021-11-15 13:12:21 -05:00
|
|
|
context 'when a Faraday exception is raised' do
|
|
|
|
where(exception: [Faraday::TimeoutError, Faraday::ConnectionFailed])
|
2021-09-30 14:11:31 -04:00
|
|
|
|
2021-11-15 13:12:21 -05:00
|
|
|
with_them do
|
|
|
|
it 'passes the exception to OmniAuth' do
|
|
|
|
instance = OmniAuth::Strategies::OAuth2.new(double)
|
2021-09-30 14:11:31 -04:00
|
|
|
|
2021-11-15 13:12:21 -05:00
|
|
|
expect(instance).to receive(:original_callback_phase) { raise exception, 'message' }
|
|
|
|
expect(instance).to receive(:fail!).with(:timeout, kind_of(exception))
|
2021-09-30 14:11:31 -04:00
|
|
|
|
2021-11-15 13:12:21 -05:00
|
|
|
instance.callback_phase
|
|
|
|
end
|
2021-09-30 14:11:31 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|