Sha256: 0a01cce49039d0959b90113c1782b8079233f0f300e8e582200fefb9ec13f435
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
require 'spec_helper_integration' module Doorkeeper::OAuth describe AuthorizationCodeRequest do let(:server) { double :server, access_token_expires_in: 2.days, refresh_token_enabled?: false } let(:grant) { FactoryGirl.create :access_grant } let(:client) { grant.application } subject do AuthorizationCodeRequest.new server, grant, client, redirect_uri: client.redirect_uri end it 'issues a new token for the client' do expect do subject.authorize end.to change { client.access_tokens.count }.by(1) end it "issues the token with same grant's scopes" do subject.authorize expect(Doorkeeper::AccessToken.last.scopes).to eq(grant.scopes) end it 'revokes the grant' do expect do subject.authorize end.to change { grant.reload.accessible? } end it 'requires the grant to be accessible' do grant.revoke subject.validate expect(subject.error).to eq(:invalid_grant) end it 'requires the grant' do subject.grant = nil subject.validate expect(subject.error).to eq(:invalid_grant) end it 'requires the client' do subject.client = nil subject.validate expect(subject.error).to eq(:invalid_client) end it 'requires the redirect_uri' do subject.redirect_uri = nil subject.validate expect(subject.error).to eq(:invalid_request) end it "matches the redirect_uri with grant's one" do subject.redirect_uri = 'http://other.com' subject.validate expect(subject.error).to eq(:invalid_grant) end it "matches the client with grant's one" do subject.client = FactoryGirl.create :application subject.validate expect(subject.error).to eq(:invalid_grant) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper-1.2.0 | spec/lib/oauth/authorization_code_request_spec.rb |