doorkeeper_access_spec.rb 1.17 KB
Newer Older
Valery Sizov's avatar
Valery Sizov committed
1 2
require 'spec_helper'

Pawel Chojnacki's avatar
Pawel Chojnacki committed
3
describe API::API, api: true do
Valery Sizov's avatar
Valery Sizov committed
4 5 6
  include ApiHelpers

  let!(:user) { create(:user) }
7 8
  let!(:application) { Doorkeeper::Application.create!(name: "MyApp", redirect_uri: "https://app.com", owner: user) }
  let!(:token) { Doorkeeper::AccessToken.create! application_id: application.id, resource_owner_id: user.id, scopes: "api" }
9

10 11 12
  describe "unauthenticated" do
    it "returns authentication success" do
      get api("/user"), access_token: token.token
13
      expect(response).to have_http_status(200)
Valery Sizov's avatar
Valery Sizov committed
14
    end
15

Pawel Chojnacki's avatar
Pawel Chojnacki committed
16 17
    include_examples 'user login request with unique ip limit' do
      def request
18 19 20
        get api('/user'), access_token: token.token
      end
    end
Valery Sizov's avatar
Valery Sizov committed
21 22
  end

23 24 25
  describe "when token invalid" do
    it "returns authentication error" do
      get api("/user"), access_token: "123a"
26
      expect(response).to have_http_status(401)
Valery Sizov's avatar
Valery Sizov committed
27 28 29
    end
  end

30 31 32
  describe "authorization by private token" do
    it "returns authentication success" do
      get api("/user", user)
33
      expect(response).to have_http_status(200)
Valery Sizov's avatar
Valery Sizov committed
34
    end
35

Pawel Chojnacki's avatar
Pawel Chojnacki committed
36 37
    include_examples 'user login request with unique ip limit' do
      def request
38 39 40
        get api('/user', user)
      end
    end
Valery Sizov's avatar
Valery Sizov committed
41 42
  end
end