mirror of
https://github.com/internetee/registry.git
synced 2025-08-22 09:10:56 +02:00
Handling contact verifications
This commit is contained in:
parent
44e42dd0fb
commit
637cabf95f
19 changed files with 612 additions and 5 deletions
104
test/services/identification_service_test.rb
Normal file
104
test/services/identification_service_test.rb
Normal file
|
@ -0,0 +1,104 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'test_helper'
|
||||
|
||||
class IdentificationServiceTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
@service = Eeid::IdentificationService.new
|
||||
end
|
||||
|
||||
def test_create_identification_request_success
|
||||
request_params = {
|
||||
claims_required: [{
|
||||
type: 'sub',
|
||||
value: 'EE1234567'
|
||||
}],
|
||||
reference: '111:111'
|
||||
}
|
||||
response_body = { id: '123', status: 'created' }.to_json
|
||||
|
||||
stub_request(:post, %r{api/auth/v1/token})
|
||||
.to_return(status: 200, body: { access_token: 'mock_token' }.to_json)
|
||||
|
||||
stub_request(:post, %r{api/ident/v1/identification_requests})
|
||||
.with(
|
||||
headers: { 'Authorization' => 'Bearer mock_token' },
|
||||
body: request_params.to_json
|
||||
)
|
||||
.to_return(status: 201, body: response_body)
|
||||
|
||||
result = @service.create_identification_request(request_params)
|
||||
assert_equal JSON.parse(response_body), result
|
||||
assert_equal 'mock_token', @service.instance_variable_get(:@token)
|
||||
end
|
||||
|
||||
def test_create_identification_request_failure
|
||||
request_params = {
|
||||
claims_required: [{
|
||||
type: 'sub',
|
||||
value: 'EE1234567'
|
||||
}],
|
||||
reference: '111:111'
|
||||
}
|
||||
|
||||
stub_request(:post, %r{api/auth/v1/token})
|
||||
.to_return(status: 200, body: { access_token: 'mock_token' }.to_json)
|
||||
|
||||
stub_request(:post, %r{api/ident/v1/identification_requests})
|
||||
.with(
|
||||
headers: { 'Authorization' => 'Bearer mock_token' },
|
||||
body: request_params.to_json
|
||||
)
|
||||
.to_return(status: 400, body: { error: 'Bad Request' }.to_json)
|
||||
|
||||
assert_raises(Eeid::IdentError, 'Bad Request') do
|
||||
@service.create_identification_request(request_params)
|
||||
end
|
||||
end
|
||||
|
||||
def test_get_identification_request_success
|
||||
id = '123'
|
||||
response_body = { id: id, status: 'completed' }.to_json
|
||||
|
||||
stub_request(:post, %r{api/auth/v1/token})
|
||||
.to_return(status: 200, body: { access_token: 'mock_token' }.to_json)
|
||||
|
||||
stub_request(:get, %r{api/ident/v1/identification_requests/#{id}})
|
||||
.with(headers: { 'Authorization' => 'Bearer mock_token' })
|
||||
.to_return(status: 200, body: response_body)
|
||||
|
||||
result = @service.get_identification_request(id)
|
||||
assert_equal JSON.parse(response_body), result
|
||||
assert_equal 'mock_token', @service.instance_variable_get(:@token)
|
||||
end
|
||||
|
||||
def test_get_identification_request_failure
|
||||
id = '123'
|
||||
|
||||
stub_request(:post, %r{api/auth/v1/token})
|
||||
.to_return(status: 200, body: { access_token: 'mock_token' }.to_json)
|
||||
|
||||
stub_request(:get, %r{api/ident/v1/identification_requests/#{id}})
|
||||
.with(headers: { 'Authorization' => 'Bearer mock_token' })
|
||||
.to_return(status: 404, body: { error: 'Not Found' }.to_json)
|
||||
|
||||
assert_raises(Eeid::IdentError, 'Not Found') do
|
||||
@service.get_identification_request(id)
|
||||
end
|
||||
end
|
||||
|
||||
def test_authentication_needed_for_requests
|
||||
stub_request(:post, %r{api/auth/v1/token})
|
||||
.to_return(status: 401, body: { error: 'Invalid credentials' }.to_json)
|
||||
|
||||
assert_raises(Eeid::IdentError) do
|
||||
@service.create_identification_request({ key: 'value' })
|
||||
end
|
||||
|
||||
assert_raises(Eeid::IdentError) do
|
||||
@service.get_identification_request('123')
|
||||
end
|
||||
|
||||
assert_equal nil, @service.instance_variable_get(:@token)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue