Sha256: a5ea23c19928776b14c222cac83a6a93e9dfe265661a8291b02df691dc0b58b5

Contents?: true

Size: 1.42 KB

Versions: 16

Compression:

Stored size: 1.42 KB

Contents

require 'test_helper'

class RailsSso::FetchUserTest < ActiveSupport::TestCase
  test "success call should fetch user with access token and return parsed data" do
    data = RailsSso::FetchUser.new(success_client).call

    assert_equal data['name'], user_data['name']
    assert_equal data['email'], user_data['email']
  end

  test "unauthenticated call should raise error" do
    err = assert_raises(RailsSso::ResponseError) { RailsSso::FetchUser.new(unauthenticated_client).call }
    assert_equal :unauthenticated, err.code
  end

  test "unknown call should raise error" do
    err = assert_raises(RailsSso::ResponseError) { RailsSso::FetchUser.new(unknown_client).call }
    assert_equal :unknown, err.code
  end

  def user_data
    {
      'name' => 'Kowalski',
      'email' => 'jan@kowalski.pl'
    }
  end

  def response_headers
    { 'Content-Type' => 'application/json' }
  end

  def success_client
    Faraday.new do |builder|
      builder.adapter :test do |stub|
        stub.get('/api/v1/me') { |env| [200, response_headers, user_data] }
      end
    end
  end

  def unauthenticated_client
    Faraday.new do |builder|
      builder.adapter :test do |stub|
        stub.get('/api/v1/me') { |env| [401, response_headers, {}] }
      end
    end
  end

  def unknown_client
    Faraday.new do |builder|
      builder.adapter :test do |stub|
        stub.get('/api/v1/me') { |env| [500, response_headers, {}] }
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rails_sso-0.7.5 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.7.4 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.7.3 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.7.2 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.7.1 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.7.0 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.6.1 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.6.0 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.5.0 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.4.0 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.5 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.4 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.3 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.2 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.1 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.3.0 test/services/rails_sso/fetch_user_test.rb