If it's not implemented by Fog's mocking layer, you can always use good, old-fashioned RSpec mocks.
describe 'BadgeUpdateJob' do
describe 'timeouts' do
it 'catches timeouts on authentication' do
Fog::Storage.stub(:new).and_raise(Excon::Errors::Timeout)
# ... expect(your code).to handle_it_properly
end
it 'catches timeouts on directories.get' do
Fog::Storage::AWS::Directories.any_instance.stub(:get).and_raise(Excon::Errors::Timeout)
# ...
end
end
end