Sha256: 5dbc294c6d6d0c4b29a3a1551926ca97a236ab09d4a33c2230cd749f858113bc

Contents?: true

Size: 1.43 KB

Versions: 15

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe Doorkeeper::TokenInfoController do
  describe "when requesting token info with valid token" do
    let(:doorkeeper_token) { FactoryBot.create(:access_token) }

    describe "successful request" do
      it "responds with token info" do
        get :show, params: { access_token: doorkeeper_token.token }

        expect(response.body).to eq(doorkeeper_token.to_json)
      end

      it "responds with a 200 status" do
        get :show, params: { access_token: doorkeeper_token.token }

        expect(response.status).to eq 200
      end
    end

    describe "invalid token response" do
      it "responds with 401 when doorkeeper_token is not valid" do
        get :show

        expect(response.status).to eq 401
        expect(response.headers["WWW-Authenticate"]).to match(/^Bearer/)
      end

      it "responds with 401 when doorkeeper_token is invalid, expired or revoked" do
        allow(controller).to receive(:doorkeeper_token).and_return(doorkeeper_token)
        allow(doorkeeper_token).to receive(:accessible?).and_return(false)

        get :show

        expect(response.status).to eq 401
        expect(response.headers["WWW-Authenticate"]).to match(/^Bearer/)
      end

      it "responds body message for error" do
        get :show

        expect(response.body).to eq(
          Doorkeeper::OAuth::InvalidTokenResponse.new.body.to_json
        )
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
doorkeeper-5.1.2 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.6 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.1.1 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.5 spec/controllers/token_info_controller_spec.rb
doorkeeper-sequel-2.2.0 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.4 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.3 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.2 spec/controllers/token_info_controller_spec.rb
doorkeeper-sequel-2.1.0 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.1 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.0 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.0.rc3 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.0.rc2 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.2.0.rc1 spec/controllers/token_info_controller_spec.rb
doorkeeper-5.1.0 spec/controllers/token_info_controller_spec.rb