Sha256: 377569fd58aa25d56d7e10cb93b1e516898106e566863432f6a25196c76acf70
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
require 'spec_helper' describe Restforce::Middleware::Authentication do let(:app) { double('app') } let(:env) { { } } let(:options) { { host: 'login.salesforce.com' } } let(:middleware) { described_class.new app, nil, options } describe '.authenticate!' do it 'raises an error' do expect { middleware.authenticate! }.to raise_error RuntimeError, 'must subclass' end end describe '.call' do context 'when all is good' do before do app.should_receive(:call).once end it 'calls the next middlware' do middleware.call(env) end end context 'when an exception is thrown' do before do app.should_receive(:call).once.and_raise(Restforce::UnauthorizedError.new('something bad')) middleware.should_receive(:authenticate!) app.should_receive(:call).once end it 'attempts to authenticate' do middleware.call(env) end end end describe '.connection' do subject { middleware.connection } its(:url_prefix) { should eq URI.parse('https://login.salesforce.com') } describe '.builder' do subject { middleware.connection.builder } context 'with logging disabled' do before do Restforce.stub!(:log?).and_return(false) end its(:handlers) { should include FaradayMiddleware::ParseJson, Faraday::Adapter::NetHttp } its(:handlers) { should_not include Faraday::Response::Logger } end context 'with logging enabled' do before do Restforce.stub!(:log?).and_return(true) end its(:handlers) { should include FaradayMiddleware::ParseJson, Faraday::Response::Logger, Faraday::Adapter::NetHttp } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
restforce-0.0.2 | spec/lib/middleware/authentication_spec.rb |
restforce-0.0.1 | spec/lib/middleware/authentication_spec.rb |