Sha256: de54c2fecbe17e1c6c111872e26763a1f3734fdffa16ab893e92499a508504a6

Contents?: true

Size: 1.48 KB

Versions: 16

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'
require 'active_support/all'
require 'doorkeeper/errors'
require 'doorkeeper/server'

describe Doorkeeper::Server do
  let(:fake_class) { double :fake_class }

  subject do
    described_class.new
  end

  describe '.authorization_request' do
    it 'raises error when strategy does not exist' do
      expect do
        subject.authorization_request(:duh)
      end.to raise_error(Doorkeeper::Errors::InvalidAuthorizationStrategy)
    end

    it 'raises error when strategy does not match phase' do
      expect do
        subject.token_request(:code)
      end.to raise_error(Doorkeeper::Errors::InvalidTokenStrategy)
    end

    context 'when only Authorization Code strategy is enabled' do
      before do
        Doorkeeper.configuration.stub(:grant_flows) { ['authorization_code'] }
      end

      it 'raises error when using the disabled Implicit strategy' do
        expect do
          subject.authorization_request(:token)
        end.to raise_error(Doorkeeper::Errors::InvalidAuthorizationStrategy)
      end

      it 'raises error when using the disabled Client Credentials strategy' do
        expect do
          subject.token_request(:client_credentials)
        end.to raise_error(Doorkeeper::Errors::InvalidTokenStrategy)
      end
    end

    it 'builds the request with selected strategy' do
      stub_const 'Doorkeeper::Request::Code', fake_class
      expect(fake_class).to receive(:build).with(subject)
      subject.authorization_request :code
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
doorkeeper-2.1.4 spec/lib/server_spec.rb
doorkeeper-1.4.2 spec/lib/server_spec.rb
doorkeeper-2.1.3 spec/lib/server_spec.rb
doorkeeper-2.1.2 spec/lib/server_spec.rb
doorkeeper-2.1.1 spec/lib/server_spec.rb
doorkeeper-2.1.0 spec/lib/server_spec.rb
doorkeeper-2.0.1 spec/lib/server_spec.rb
doorkeeper-1.4.1 spec/lib/server_spec.rb
doorkeeper-2.0.0 spec/lib/server_spec.rb
doorkeeper-2.0.0.rc3 spec/lib/server_spec.rb
doorkeeper-2.0.0.rc2 spec/lib/server_spec.rb
doorkeeper-2.0.0.alpha1 spec/lib/server_spec.rb
doorkeeper-1.4.0 spec/lib/server_spec.rb
doorkeeper-1.3.1 spec/lib/server_spec.rb
doorkeeper-1.3.0 spec/lib/server_spec.rb
doorkeeper-1.2.0 spec/lib/server_spec.rb