Sha256: b72c08bfa3f5138ff7382ba213e4f3e82a99091c47e4e057aeb513d27bd77bed
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
# frozen_string_literal: true RSpec.shared_examples_for 'token validation' do context 'when token is valid' do include_context 'valid access token' before { subject } it 'should be successful' do expect(response).to be_success end it 'should validate the access token against the auth server' do expect(a_request(:get, 'auth.g5search.com/oauth/token/info') .with(headers: { 'Authorization' => "Bearer #{token_value}" })) .to have_been_made end end context 'when token is invalid' do include_context 'invalid access token' before { subject } it 'should be unauthorized' do expect(response.status).to eq(401) end it 'should return an authenticate header' do expect(response.headers).to have_key('WWW-Authenticate') end it 'should return the authentication error' do expect(response.headers['WWW-Authenticate']) .to match("error=\"#{error_code}\"") end it 'should return the authentication error description' do expect(response.headers['WWW-Authenticate']) .to match("error_description=\"#{error_description}\"") end end context 'when some other oauth error occurs' do include_context 'OAuth2 error' before { subject } it 'should be unauthorized' do expect(response.status).to eq(401) end it 'should return an authenticate header' do expect(response.headers).to have_key('WWW-Authenticate') end it 'should return the default authentication error code' do expect(response.headers['WWW-Authenticate']) .to match('error="invalid_request"') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
g5_authenticatable_api-1.0.0 | spec/support/shared_examples/token_validation.rb |
g5_authenticatable_api-1.0.0.pre.1 | spec/support/shared_examples/token_validation.rb |