Sha256: cbff1bcd6d4465011a7ca5ecc7f3061845f7c3e9ee90f8040e4d59b71b3d5bd2

Contents?: true

Size: 1.5 KB

Versions: 32

Compression:

Stored size: 1.5 KB

Contents

require 'spec_helper'
require 'active_support/core_ext/string'
require 'doorkeeper/oauth/client'

class Doorkeeper::OAuth::Client
  describe 'Methods' do
    let(:client_id) { 'some-uid' }
    let(:client_secret) { 'some-secret' }

    subject do
      Class.new do
        include Methods
      end.new
    end

    describe :from_params do
      it 'returns credentials from parameters when Authorization header is not available' do
        request     = double parameters: { client_id: client_id, client_secret: client_secret }
        uid, secret = subject.from_params(request)

        expect(uid).to    eq('some-uid')
        expect(secret).to eq('some-secret')
      end

      it 'is blank when there are no credentials' do
        request     = double parameters: {}
        uid, secret = subject.from_params(request)

        expect(uid).to    be_blank
        expect(secret).to be_blank
      end
    end

    describe :from_basic do
      let(:credentials) { Base64.encode64("#{client_id}:#{client_secret}") }

      it 'decodes the credentials' do
        request     = double authorization: "Basic #{credentials}"
        uid, secret = subject.from_basic(request)

        expect(uid).to    eq('some-uid')
        expect(secret).to eq('some-secret')
      end

      it 'is blank if Authorization is not Basic' do
        request     = double authorization: "#{credentials}"
        uid, secret = subject.from_basic(request)

        expect(uid).to    be_blank
        expect(secret).to be_blank
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
doorkeeper-sequel-1.2.1 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.2.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.1.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.0.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.0.0.rc4 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.0.0.rc3 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.0.0.rc2 spec/lib/oauth/client/methods_spec.rb
doorkeeper-4.0.0.rc1 spec/lib/oauth/client/methods_spec.rb
doorkeeper-3.1.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-3.0.1 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.2.2 spec/lib/oauth/client/methods_spec.rb
doorkeeper-3.0.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-3.0.0.rc2 spec/lib/oauth/client/methods_spec.rb
doorkeeper-3.0.0.rc1 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.2.1 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.2.0 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.1.4 spec/lib/oauth/client/methods_spec.rb
doorkeeper-1.4.2 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.1.3 spec/lib/oauth/client/methods_spec.rb
doorkeeper-2.1.2 spec/lib/oauth/client/methods_spec.rb