onfido 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02ec5c2316de975b17ee9818699d45f47eff8e9f93bb89400e7ef4dd9d6b5170
4
- data.tar.gz: ed1a1accb7575b5483eb17cd5631d0abe98641a5c34922b79a9c26bce13eab53
3
+ metadata.gz: 3230fbefefe2fe6a65813be33aa6025503aebea8d2959290702d18874d265d0e
4
+ data.tar.gz: 12bcea5a6c837d30aa1c5ea9ba2e62c4d1d5a7d6c65824fbec55943d941f572c
5
5
  SHA512:
6
- metadata.gz: b51ceca16f8c19c95234e8ba5b5e5e86c3cca098273a79e3880c46175861c6efd9d97858bc463d6a8ad029268d66866306792b5dea822473cd89100c5f4a9b75
7
- data.tar.gz: 0f149d1be7d19d1c3f4edbef29d80d0ac5ebfd4ed26e17a29b66e44afbc2e9aa4d473e5ce770d7247284d993a054e6349f043cce62f6d7c9315525b1b6558b92
6
+ metadata.gz: 8e179be06571269bba33d62efb85523f26cd43a1df4b1f43dc90bf6b430c68d40d5140d6141686efcd90a5898a285ade72ac51a5215a48dd6115e5232e69658e
7
+ data.tar.gz: 15a6b1d68484a3174c8fabb49a4f097ba1c3f82766865707351eac513c7c617423468824758f976070bfd0a42f47cb78fdbc135d20984ecf1ec3bfde0f293c72
@@ -1,3 +1,7 @@
1
+ ## v0.10.0, 3 April 2018
2
+
3
+ - Add support for download, find and retrieve all for live_photo resource (@kirsis)
4
+
1
5
  ## v0.9.0, 8 March 2018
2
6
 
3
7
  - Remove the ability to create Documents and Live Photos from a remote URL or local path, mitigating a potential security vulnerability (see #45 for details) (@timrogers)
data/README.md CHANGED
@@ -12,7 +12,7 @@ This gem supports both `v1` and `v2` of the Onfido API. Refer to Onfido's [API d
12
12
  Add this line to your application's Gemfile:
13
13
 
14
14
  ```ruby
15
- gem 'onfido', '~> 0.9.0'
15
+ gem 'onfido', '~> 0.10.0'
16
16
  ```
17
17
 
18
18
  The gem is compatible with Ruby 2.2.0 and onwards. Earlier versions of Ruby have [reached end-of-life](https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/), are no longer supported and no longer receive security fixes.
@@ -82,10 +82,12 @@ to `#create`.
82
82
  #### Live Photos
83
83
 
84
84
  Live Photos, like documents, can provide supporting evidence for Onfido checks.
85
- They can only be created - the Onfido does not support finding or listing them.
86
85
 
87
86
  ```ruby
88
87
  api.live_photo.create('applicant_id', file: 'http://example.com')
88
+ api.live_photo.find(applicant_id, live_photo_id) # => Finds a live photo
89
+ api.live_photo.download(applicant_id, live_photo_id) # => Downloads a live photo as binary data
90
+ api.live_photo.all(applicant_id) # => Returns all applicant's live photos
89
91
  ```
90
92
 
91
93
  **Note:** The file parameter must be a `File`-like object which responds to `#read` and `#path`.
@@ -11,5 +11,20 @@ module Onfido
11
11
  payload: payload
12
12
  )
13
13
  end
14
+
15
+ def find(applicant_id, live_photo_id)
16
+ query_string = "applicant_id=#{applicant_id}"
17
+ get(url: url_for("live_photos/#{live_photo_id}?#{query_string}"))
18
+ end
19
+
20
+ def download(applicant_id, live_photo_id)
21
+ query_string = "applicant_id=#{applicant_id}"
22
+ get(url: url_for("live_photos/#{live_photo_id}/download?#{query_string}"))
23
+ end
24
+
25
+ def all(applicant_id)
26
+ query_string = "applicant_id=#{applicant_id}"
27
+ get(url: url_for("live_photos?#{query_string}"))
28
+ end
14
29
  end
15
30
  end
@@ -1,3 +1,3 @@
1
1
  module Onfido
2
- VERSION = '0.9.0'.freeze
2
+ VERSION = '0.10.0'.freeze
3
3
  end
@@ -29,4 +29,33 @@ describe Onfido::LivePhoto do
29
29
  end
30
30
  end
31
31
  end
32
+
33
+ describe '#find' do
34
+ let(:applicant_id) { '1030303-123123-123123' }
35
+ let(:live_photo_id) { '3538c8f6-fdce-4745-9d34-fc246bc05aa1' }
36
+
37
+ it 'returns the expected live photo' do
38
+ response = live_photo.find(applicant_id, live_photo_id)
39
+ expect(response['id']).to eq(live_photo_id)
40
+ end
41
+ end
42
+
43
+ describe '#all' do
44
+ let(:applicant_id) { '1030303-123123-123123' }
45
+
46
+ it 'returns list of documents' do
47
+ response = live_photo.all(applicant_id)
48
+ expect(response['live_photos']).not_to be_empty
49
+ end
50
+ end
51
+
52
+ describe '#download' do
53
+ let(:applicant_id) { '1030303-123123-123123' }
54
+ let(:live_photo_id) { '3538c8f6-fdce-4745-9d34-fc246bc05aa1' }
55
+
56
+ it 'returns the file data' do
57
+ response = live_photo.download(applicant_id, live_photo_id)
58
+ expect(response).not_to be_nil
59
+ end
60
+ end
32
61
  end
@@ -48,6 +48,32 @@ class FakeOnfidoAPI < Sinatra::Base
48
48
  json_response(201, 'live_photo.json')
49
49
  end
50
50
 
51
+ get '/v2/live_photos/:id' do
52
+ if params["applicant_id"] != "1030303-123123-123123"
53
+ status 404
54
+ else
55
+ json_response(200, 'live_photo.json')
56
+ end
57
+ end
58
+
59
+ get '/v2/live_photos' do
60
+ if params["applicant_id"] != "1030303-123123-123123"
61
+ status 404
62
+ else
63
+ json_response(200, 'live_photos.json')
64
+ end
65
+ end
66
+
67
+ get '/v2/live_photos/:id/download' do
68
+ if params["applicant_id"] != "1030303-123123-123123"
69
+ status 404
70
+ else
71
+ status 200
72
+ content_type 'image/jpeg'
73
+ "\x01\x02\x03" # acts as binary file data
74
+ end
75
+ end
76
+
51
77
  post '/v2/applicants/:id/checks' do
52
78
  json_response(201, 'check.json')
53
79
  end
@@ -1,4 +1,9 @@
1
1
  {
2
- "id": "7410A943-8F00-43D8-98DE-36A774196D86",
3
- "created_at": "2014-05-23 13:50:33Z"
2
+ "id": "3538c8f6-fdce-4745-9d34-fc246bc05aa1",
3
+ "created_at": "2014-05-23 13:50:33Z",
4
+ "file_name": "onfido_captured_image.jpg",
5
+ "file_type": "image/jpeg",
6
+ "file_size": 47544,
7
+ "href": "/v2/live_photos/3538c8f6-fdce-4745-9d34-fc246bc05aa1",
8
+ "download_href": "/v2/live_photos/3538c8f6-fdce-4745-9d34-fc246bc05aa1/download"
4
9
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "live_photos": [
3
+ {
4
+ "id": "3538c8f6-fdce-4745-9d34-fc246bc05aa1",
5
+ "created_at": "2014-05-23 13:50:33Z",
6
+ "file_name": "onfido_captured_image.jpg",
7
+ "file_type": "image/jpeg",
8
+ "file_size": 47544,
9
+ "href": "/v2/live_photos/3538c8f6-fdce-4745-9d34-fc246bc05aa1",
10
+ "download_href": "/v2/live_photos/3538c8f6-fdce-4745-9d34-fc246bc05aa1/download"
11
+ },
12
+ {
13
+ "id": "5134c12a-555a-1234-5e12-9d34fcbc11ba",
14
+ "created_at": "2014-05-23 13:50:33Z",
15
+ "file_name": "onfido_captured_image.jpg",
16
+ "file_type": "image/jpeg",
17
+ "file_size": 47544,
18
+ "href": "/v2/live_photos/5134c12a-555a-1234-5e12-9d34fcbc11ba",
19
+ "download_href": "/v2/live_photos/5134c12a-555a-1234-5e12-9d34fcbc11ba/download"
20
+ }
21
+ ]
22
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onfido
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pericles Theodorou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-03-08 00:00:00.000000000 Z
12
+ date: 2018-04-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -204,6 +204,7 @@ files:
204
204
  - spec/support/fixtures/document.json
205
205
  - spec/support/fixtures/documents.json
206
206
  - spec/support/fixtures/live_photo.json
207
+ - spec/support/fixtures/live_photos.json
207
208
  - spec/support/fixtures/report.json
208
209
  - spec/support/fixtures/report_type_group.json
209
210
  - spec/support/fixtures/report_type_groups.json
@@ -265,6 +266,7 @@ test_files:
265
266
  - spec/support/fixtures/document.json
266
267
  - spec/support/fixtures/documents.json
267
268
  - spec/support/fixtures/live_photo.json
269
+ - spec/support/fixtures/live_photos.json
268
270
  - spec/support/fixtures/report.json
269
271
  - spec/support/fixtures/report_type_group.json
270
272
  - spec/support/fixtures/report_type_groups.json