finapps 5.0.35 → 5.0.44

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.
@@ -10,6 +10,10 @@ RSpec.describe FinApps::REST::SignedDocumentsDownloads do
10
10
  let(:document) { described_class.new(api_client) }
11
11
 
12
12
  describe '#show' do
13
+ subject(:show) do
14
+ document.show(:consumer_id, :signature_request_id)
15
+ end
16
+
13
17
  context 'when missing signature request id' do
14
18
  subject(:show) { document.show(:consumer_id, nil) }
15
19
 
@@ -26,13 +30,6 @@ RSpec.describe FinApps::REST::SignedDocumentsDownloads do
26
30
  end
27
31
  end
28
32
 
29
- subject(:show) do
30
- document.show(
31
- :consumer_id,
32
- :signature_request_id
33
- )
34
- end
35
-
36
33
  it_behaves_like 'an API request'
37
34
  it_behaves_like 'a successful request'
38
35
  end
@@ -10,6 +10,8 @@ RSpec.describe FinApps::REST::VerixDocuments do
10
10
  let(:document) { described_class.new(api_client) }
11
11
 
12
12
  describe '#list' do
13
+ subject { document.list(:record_id) }
14
+
13
15
  context 'when missing parameters' do
14
16
  subject(:list) { document.list(nil) }
15
17
 
@@ -18,13 +20,13 @@ RSpec.describe FinApps::REST::VerixDocuments do
18
20
  end
19
21
  end
20
22
 
21
- subject { document.list(:record_id) }
22
-
23
23
  it_behaves_like 'an API request'
24
24
  it_behaves_like 'a successful request'
25
25
  end
26
26
 
27
27
  describe '#show' do
28
+ subject { document.show(:record_id, :document_id) }
29
+
28
30
  context 'when missing record_id' do
29
31
  subject(:show) { document.show(nil, :document_id) }
30
32
 
@@ -37,8 +39,6 @@ RSpec.describe FinApps::REST::VerixDocuments do
37
39
  it { expect { show }.to raise_error(FinAppsCore::MissingArgumentsError) }
38
40
  end
39
41
 
40
- subject { document.show(:record_id, :document_id) }
41
-
42
42
  it_behaves_like 'an API request'
43
43
  it_behaves_like 'a successful request'
44
44
  end
@@ -32,7 +32,7 @@ RSpec.configure do |config|
32
32
  config.before do
33
33
  base_url =
34
34
  "#{FinAppsCore::REST::Defaults::DEFAULTS[:host]}/v#{FinAppsCore::REST::Defaults::API_VERSION}/"
35
- stub_request(:any, /#{base_url}/).to_rack(::FakeApi)
35
+ stub_request(:any, /#{base_url}/).to_rack(::Fake::FakeApi)
36
36
  end
37
37
  WebMock.disable_net_connect!(allow: 'codeclimate.com')
38
38
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module DocumentsUploadsRoutes
5
+ class << self
6
+ def included(base)
7
+ base.get("/#{base.version}/consumers/:consumer_id/documents/:doc_id?thumbnail=false") do
8
+ pdf_response 'signed_document.pdf'
9
+ end
10
+ destroy_routes(base)
11
+ destroy_by_consumer_routes(base)
12
+ super
13
+ end
14
+
15
+ def destroy_routes(base)
16
+ base.delete("/#{base.version}/documents/orders/valid_order_id/valid_doc_id") { status 204 }
17
+ base.delete("/#{base.version}/documents/orders/valid_order_id/invalid_doc_id") do
18
+ json_response 404, 'resource_not_found.json'
19
+ end
20
+ base.delete("/#{base.version}/documents/orders/invalid_order_id/valid_doc_id") do
21
+ json_response 404, 'resource_not_found.json'
22
+ end
23
+ end
24
+
25
+ def destroy_by_consumer_routes(base)
26
+ base.delete("/#{base.version}/consumers/valid_consumer_id/documents/valid_document_id") { status 204 }
27
+ base.delete("/#{base.version}/consumers/invalid_consumer_id/documents/invalid_document_id") do
28
+ json_response 404, 'resource_not_found.json'
29
+ end
30
+ base.delete("/#{base.version}/consumers/invalid_consumer_id/documents/valid_document_id") do
31
+ json_response 404, 'resource_not_found.json'
32
+ end
33
+ base.delete("/#{base.version}/consumers/valid_consumer_id/documents/invalid_document_id") do
34
+ json_response 404, 'resource_not_found.json'
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,507 +1,515 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'sinatra/base'
4
+ require_relative 'documents_uploads_routes'
5
+ module Fake
6
+ # the FakeApi class is used to mock API requests while testing.
7
+ class FakeApi < Sinatra::Base
8
+ def self.version
9
+ "v#{FinAppsCore::REST::Defaults::API_VERSION}"
10
+ end
4
11
 
5
- # the FakeApi class is used to mock API requests while testing.
6
- class FakeApi < Sinatra::Base
7
- def self.version
8
- "v#{FinAppsCore::REST::Defaults::API_VERSION}"
9
- end
10
-
11
- # resource
12
- post("/#{version}/resources") { json_response 201, 'resource.json' }
13
- get("/#{version}/resources/:id") { json_response 200, 'resource.json' }
14
- get("/#{version}/resources") { json_response 200, 'resources.json' }
15
- put("/#{version}/resources") { json_response 201, 'resource.json' }
16
- delete("/#{version}/resources/:id") { status 202 }
12
+ # resource
13
+ post("/#{version}/resources") { json_response 201, 'resource.json' }
14
+ get("/#{version}/resources/:id") { json_response 200, 'resource.json' }
15
+ get("/#{version}/resources") { json_response 200, 'resources.json' }
16
+ put("/#{version}/resources") { json_response 201, 'resource.json' }
17
+ delete("/#{version}/resources/:id") { status 202 }
17
18
 
18
- # verix_metadata
19
- get("/#{version}/v/metadata") do
20
- json_response 200, 'verix/metadata.json'
21
- end
19
+ # verix_metadata
20
+ get("/#{version}/v/metadata") do
21
+ json_response 200, 'verix/metadata.json'
22
+ end
22
23
 
23
- # verix_records
24
- get("/#{version}/v/record") do
25
- json_response 200, 'verix/record/list.json'
26
- end
27
- post("/#{version}/v/record") do
28
- json_response 200, 'verix/record/create.json'
29
- end
24
+ # verix_records
25
+ get("/#{version}/v/record") do
26
+ json_response 200, 'verix/record/list.json'
27
+ end
28
+ post("/#{version}/v/record") do
29
+ json_response 200, 'verix/record/create.json'
30
+ end
30
31
 
31
- # verix_pdf_documents
32
- get("/#{version}/v/record/:record_id/file/:provider_id") do
33
- pdf_response 'verix/document/document.pdf'
34
- end
32
+ # verix_pdf_documents
33
+ get("/#{version}/v/record/:record_id/file/:provider_id") do
34
+ pdf_response 'verix/document/document.pdf'
35
+ end
35
36
 
36
- # verix_documents
37
- get("/#{version}/v/record/:record_id/document") do
38
- json_response 200, 'verix/document/show.json'
39
- end
40
- get("/#{version}/v/record/:record_id/document/:document_id") do
41
- json_response 200, 'verix/document/list.json'
42
- end
37
+ # verix_documents
38
+ get("/#{version}/v/record/:record_id/document") do
39
+ json_response 200, 'verix/document/show.json'
40
+ end
41
+ get("/#{version}/v/record/:record_id/document/:document_id") do
42
+ json_response 200, 'verix/document/list.json'
43
+ end
43
44
 
44
- # plaid_webhook/metadata
45
- get("/#{version}/p/metadata") do
46
- tenant_token = request.env['HTTP_X_TENANT_TOKEN']
47
- if tenant_token == 'invalid_tenant_token'
48
- json_response 404, 'invalid_tenant_credentials.json'
49
- else
50
- json_response 200, 'plaid/webhook.json'
45
+ # plaid_webhook/metadata
46
+ get("/#{version}/p/metadata") do
47
+ tenant_token = request.env['HTTP_X_TENANT_TOKEN']
48
+ if tenant_token == 'invalid_tenant_token'
49
+ json_response 404, 'invalid_tenant_credentials.json'
50
+ else
51
+ json_response 200, 'plaid/webhook.json'
52
+ end
51
53
  end
52
- end
53
54
 
54
- # plaid_institution_consumer
55
- get("/#{version}/p/institution/consumer/:consumer_institution_id") do
56
- json_response 200, 'plaid/institution/consumer/show.json'
57
- end
58
- get("/#{version}/p/institution/consumer/:consumer_institution_id/account") do
59
- json_response 200, 'plaid/institution/consumer/show_accounts.json'
60
- end
61
- get("/#{version}/p/institution/consumer") do
62
- tenant_token = request.env['HTTP_X_TENANT_TOKEN']
63
- if tenant_token == 'invalid_tenant_token'
64
- json_response 404, 'resource_not_found.json'
65
- else
66
- json_response 200, 'plaid/institution/consumer/list.json'
55
+ # plaid_institution_consumer
56
+ get("/#{version}/p/institution/consumer/:consumer_institution_id") do
57
+ json_response 200, 'plaid/institution/consumer/show.json'
67
58
  end
68
- end
69
- post("/#{version}/p/institution/consumer") do
70
- tenant_token = request.env['HTTP_X_TENANT_TOKEN']
71
- if tenant_token == 'invalid_tenant_token'
72
- json_response 404, 'resource_not_found.json'
73
- else
74
- json_response 200, 'plaid/institution/consumer/add.json'
59
+ get("/#{version}/p/institution/consumer/:consumer_institution_id/account") do
60
+ json_response 200, 'plaid/institution/consumer/show_accounts.json'
75
61
  end
76
- end
77
- delete("/#{version}/p/institution/consumer/:consumer_institution_id") do
78
- status 204
79
- end
80
- put("/#{version}/p/institution/consumer/:consumer_institution_id") do
81
- status 204
82
- end
83
- get("/#{version}/p/institution/consumer/:consumer_institution_id/token") do
84
- json_response 200, 'plaid/institution/consumer/public_token.json'
85
- end
86
-
87
- # plaid_accounts
88
- get("/#{version}/p/account") do
89
- json_response 200, 'plaid/account/list.json'
90
- end
91
- get("/#{version}/p/account/:account_id") do
92
- json_response 200, 'plaid/account/show.json'
93
- end
94
- put("/#{version}/p/accounts/permissions") do
95
- request.body.rewind
96
- request_payload = JSON.parse request.body.read
97
- if request_payload.is_a? Array
62
+ get("/#{version}/p/institution/consumer") do
63
+ tenant_token = request.env['HTTP_X_TENANT_TOKEN']
64
+ if tenant_token == 'invalid_tenant_token'
65
+ json_response 404, 'resource_not_found.json'
66
+ else
67
+ json_response 200, 'plaid/institution/consumer/list.json'
68
+ end
69
+ end
70
+ post("/#{version}/p/institution/consumer") do
71
+ tenant_token = request.env['HTTP_X_TENANT_TOKEN']
72
+ if tenant_token == 'invalid_tenant_token'
73
+ json_response 404, 'resource_not_found.json'
74
+ else
75
+ json_response 200, 'plaid/institution/consumer/add.json'
76
+ end
77
+ end
78
+ delete("/#{version}/p/institution/consumer/:consumer_institution_id") do
98
79
  status 204
99
- else
100
- json_response 400, 'invalid_request_body.json'
101
80
  end
102
- end
103
- delete("/#{version}/p/accounts/permissions") do
104
- request.body.rewind
105
- request_payload = JSON.parse request.body.read
106
- if request_payload.is_a? Array
81
+ put("/#{version}/p/institution/consumer/:consumer_institution_id") do
107
82
  status 204
108
- else
109
- json_response 400, 'invalid_request_body.json'
110
83
  end
111
- end
84
+ get("/#{version}/p/institution/consumer/:consumer_institution_id/token") do
85
+ json_response 200, 'plaid/institution/consumer/public_token.json'
86
+ end
112
87
 
113
- # plaid_institution_logos
114
- get("/#{version}/p/institution/logo/:inst_id") do
115
- png_response 'plaid/institution/logo.png'
116
- end
88
+ # plaid_accounts
89
+ get("/#{version}/p/account") do
90
+ json_response 200, 'plaid/account/list.json'
91
+ end
92
+ get("/#{version}/p/account/:account_id") do
93
+ json_response 200, 'plaid/account/show.json'
94
+ end
95
+ put("/#{version}/p/accounts/permissions") do
96
+ request.body.rewind
97
+ request_payload = JSON.parse request.body.read
98
+ if request_payload.is_a? Array
99
+ status 204
100
+ else
101
+ json_response 400, 'invalid_request_body.json'
102
+ end
103
+ end
104
+ delete("/#{version}/p/accounts/permissions") do
105
+ request.body.rewind
106
+ request_payload = JSON.parse request.body.read
107
+ if request_payload.is_a? Array
108
+ status 204
109
+ else
110
+ json_response 400, 'invalid_request_body.json'
111
+ end
112
+ end
117
113
 
118
- # version
119
- get("/#{version}/version") { 'Version => 2.1.29-.20161208.172810' }
114
+ # plaid_institution_logos
115
+ get("/#{version}/p/institution/logo/:inst_id") do
116
+ png_response 'plaid/institution/logo.png'
117
+ end
120
118
 
121
- # tenants
122
- get("/#{version}/settings/tenant") do
123
- json_response 200, 'tenant_settings.json'
124
- end
125
- put("/#{version}/settings/tenant") do
126
- request.body.rewind
127
- request_payload = JSON.parse request.body.read
128
- if request_payload['bad_params']
119
+ # version
120
+ get("/#{version}/version") { 'Version => 2.1.29-.20161208.172810' }
121
+
122
+ # tenants
123
+ get("/#{version}/settings/tenant") do
124
+ json_response 200, 'tenant_settings.json'
125
+ end
126
+ put("/#{version}/settings/tenant") do
127
+ request.body.rewind
128
+ request_payload = JSON.parse request.body.read
129
+ if request_payload['bad_params']
130
+ json_response 404, 'resource_not_found.json'
131
+ else
132
+ status 204
133
+ end
134
+ end
135
+ get("/#{version}/settings/app") do
136
+ json_response 200, 'tenant_app_settings.json'
137
+ end
138
+ put("/#{version}/settings/app") do
139
+ request.body.rewind
140
+ request_payload = JSON.parse request.body.read
141
+ if request_payload['pdf_statement_months']
142
+ status 204
143
+ else
144
+ json_response 404, 'resource_not_found.json'
145
+ end
146
+ end
147
+
148
+ # orders
149
+ post("/#{version}/orders/valid_token") do
150
+ json_response 200, 'order_token.json'
151
+ end
152
+ post("/#{version}/orders/invalid_token") do
129
153
  json_response 404, 'resource_not_found.json'
130
- else
131
- status 204
132
154
  end
133
- end
134
- get("/#{version}/settings/app") do
135
- json_response 200, 'tenant_app_settings.json'
136
- end
137
- put("/#{version}/settings/app") do
138
- request.body.rewind
139
- request_payload = JSON.parse request.body.read
140
- if request_payload['pdf_statement_months']
141
- status 204
142
- else
155
+ get("/#{version}/orders/valid_id") { json_response 200, 'order.json' }
156
+ get("/#{version}/orders") { json_response 200, 'orders.json' }
157
+ get("/#{version}/orders/valid_id/report.:format") do
158
+ json_response 200, 'order_report.json'
159
+ end
160
+ get("/#{version}/orders/invalid_id/report.:format") do
143
161
  json_response 404, 'resource_not_found.json'
144
162
  end
145
- end
146
-
147
- # orders
148
- post("/#{version}/orders/valid_token") do
149
- json_response 200, 'order_token.json'
150
- end
151
- post("/#{version}/orders/invalid_token") do
152
- json_response 404, 'resource_not_found.json'
153
- end
154
- get("/#{version}/orders/valid_id") { json_response 200, 'order.json' }
155
- get("/#{version}/orders") { json_response 200, 'orders.json' }
156
- get("/#{version}/orders/valid_id/report.:format") do
157
- json_response 200, 'order_report.json'
158
- end
159
- get("/#{version}/orders/invalid_id/report.:format") do
160
- json_response 404, 'resource_not_found.json'
161
- end
162
- get("/#{version}/orders/valid_id/status") do
163
- json_response 200, 'order_status.json'
164
- end
165
- get("/#{version}/orders/invalid_id/status") do
166
- json_response 404, 'resource_not_found.json'
167
- end
168
- put("/#{version}/orders/valid_id/cancel") { status 204 }
169
- put("/#{version}/orders/invalid_id/cancel") do
170
- json_response 404, 'resource_not_found.json'
171
- end
172
- put("/#{version}/orders/valid_id/notify") { status 204 }
173
- put("/#{version}/orders/invalid_id/notify") do
174
- json_response 404, 'resource_not_found.json'
175
- end
176
- put("/#{version}/orders/valid_id/refresh") do
177
- json_response 200, 'order_refresh.json'
178
- end
179
- put("/#{version}/orders/invalid_id/refresh") do
180
- json_response 404, 'resource_not_found.json'
181
- end
182
- put("/#{version}/orders/invalid_id") do
183
- json_response 404, 'resource_not_found.json'
184
- end
185
- put("/#{version}/orders/valid_id") { status 204 }
186
- put("/#{version}/orders") do
187
- request.body.rewind
188
- request_payload = JSON.parse request.body.read
189
- if request_payload['params'] == 'invalid'
190
- json_response 400, 'invalid_request_body.json'
191
- else
192
- status 204
163
+ get("/#{version}/orders/valid_id/status") do
164
+ json_response 200, 'order_status.json'
193
165
  end
194
- end
195
- post("/#{version}/orders") do
196
- request.body.rewind
197
- request_payload = JSON.parse request.body.read
198
- if %w[applicant institutions product].all? {|s| request_payload.key? s }
199
- json_response 200, 'order_token.json'
200
- else
201
- json_response 400, 'invalid_request_body.json'
166
+ get("/#{version}/orders/invalid_id/status") do
167
+ json_response 404, 'resource_not_found.json'
168
+ end
169
+ put("/#{version}/orders/valid_id/cancel") { status 204 }
170
+ put("/#{version}/orders/invalid_id/cancel") do
171
+ json_response 404, 'resource_not_found.json'
172
+ end
173
+ put("/#{version}/orders/valid_id/notify") { status 204 }
174
+ put("/#{version}/orders/invalid_id/notify") do
175
+ json_response 404, 'resource_not_found.json'
176
+ end
177
+ put("/#{version}/orders/valid_id/refresh") do
178
+ json_response 200, 'order_refresh.json'
179
+ end
180
+ put("/#{version}/orders/invalid_id/refresh") do
181
+ json_response 404, 'resource_not_found.json'
182
+ end
183
+ put("/#{version}/orders/invalid_id") do
184
+ json_response 404, 'resource_not_found.json'
185
+ end
186
+ put("/#{version}/orders/valid_id") { status 204 }
187
+ put("/#{version}/orders") do
188
+ request.body.rewind
189
+ request_payload = JSON.parse request.body.read
190
+ if request_payload['params'] == 'invalid'
191
+ json_response 400, 'invalid_request_body.json'
192
+ else
193
+ status 204
194
+ end
195
+ end
196
+ post("/#{version}/orders") do
197
+ request.body.rewind
198
+ request_payload = JSON.parse request.body.read
199
+ if %w[applicant institutions product].all? {|s| request_payload.key? s }
200
+ json_response 200, 'order_token.json'
201
+ else
202
+ json_response 400, 'invalid_request_body.json'
203
+ end
202
204
  end
203
- end
204
205
 
205
- # documents_orders
206
- get("/#{version}/documents/orders") do
207
- if params[:filter]&.include?('"status":2')
208
- json_response 200, 'documents_orders_none.json'
209
- else
210
- json_response 200, 'documents_orders.json'
206
+ # documents_orders
207
+ get("/#{version}/documents/orders") do
208
+ if params[:filter]&.include?('"status":2')
209
+ json_response 200, 'documents_orders_none.json'
210
+ else
211
+ json_response 200, 'documents_orders.json'
212
+ end
211
213
  end
212
- end
213
- get("/#{version}/documents/orders/valid_order_id") do
214
- json_response 200, 'documents_order.json'
215
- end
216
- get("/#{version}/documents/orders/invalid_order_id") do
217
- json_response 404, 'resource_not_found.json'
218
- end
219
- post("/#{version}/documents/orders") do
220
- request.body.rewind
221
- request_payload = JSON.parse request.body.read
222
- if %w[applicant esign_documents tag].all? {|s| request_payload.key? s }
214
+ get("/#{version}/documents/orders/valid_order_id") do
223
215
  json_response 200, 'documents_order.json'
224
- else
225
- json_response 400, 'invalid_request_body.json'
226
216
  end
227
- end
228
- put("/#{version}/documents/orders/valid_order_id") do
229
- request.body.rewind
230
- request_payload = JSON.parse request.body.read
231
- if request_payload['tag'] == 'invalid'
232
- json_response 400, 'invalid_request_body.json'
233
- else
234
- status 204
217
+ get("/#{version}/documents/orders/invalid_order_id") do
218
+ json_response 404, 'resource_not_found.json'
219
+ end
220
+ post("/#{version}/documents/orders") do
221
+ request.body.rewind
222
+ request_payload = JSON.parse request.body.read
223
+ if %w[applicant esign_documents tag].all? {|s| request_payload.key? s }
224
+ json_response 200, 'documents_order.json'
225
+ else
226
+ json_response 400, 'invalid_request_body.json'
227
+ end
228
+ end
229
+ put("/#{version}/documents/orders/valid_order_id") do
230
+ request.body.rewind
231
+ request_payload = JSON.parse request.body.read
232
+ if request_payload['tag'] == 'invalid'
233
+ json_response 400, 'invalid_request_body.json'
234
+ else
235
+ status 204
236
+ end
237
+ end
238
+ put("/#{version}/documents/orders/invalid_order_id") do
239
+ json_response 400, 'invalid_order_id.json'
240
+ end
241
+ delete("/#{version}/documents/orders/valid_order_id") { status 204 }
242
+ delete("/#{version}/documents/orders/invalid_order_id") do
243
+ json_response 404, 'resource_not_found.json'
244
+ end
245
+ get("/#{version}/documents/orders/valid_order_id/sign_url/valid_signature_id") do
246
+ json_response 200, 'sign_url.json'
247
+ end
248
+ get("/#{version}/documents/orders/invalid_order_id/sign_url/valid_signature_id") do
249
+ json_response 400, 'invalid_order_id.json'
250
+ end
251
+ get("/#{version}/documents/orders/valid_order_id/sign_url/invalid_signature_id") do
252
+ json_response 404, 'invalid_signature_id.json'
235
253
  end
236
- end
237
- put("/#{version}/documents/orders/invalid_order_id") do
238
- json_response 400, 'invalid_order_id.json'
239
- end
240
- delete("/#{version}/documents/orders/valid_order_id") { status 204 }
241
- delete("/#{version}/documents/orders/invalid_order_id") do
242
- json_response 404, 'resource_not_found.json'
243
- end
244
- get("/#{version}/documents/orders/valid_order_id/sign_url/valid_signature_id") do
245
- json_response 200, 'sign_url.json'
246
- end
247
- get("/#{version}/documents/orders/invalid_order_id/sign_url/valid_signature_id") do
248
- json_response 400, 'invalid_order_id.json'
249
- end
250
- get("/#{version}/documents/orders/valid_order_id/sign_url/invalid_signature_id") do
251
- json_response 404, 'invalid_signature_id.json'
252
- end
253
254
 
254
- # documents orders notifications
255
- post("/#{version}/documents/orders/valid_id/notify") { status 204 }
256
- post("/#{version}/documents/orders/invalid_id/notify") do
257
- json_response 400, 'invalid_order_id.json'
258
- end
255
+ # documents_uploads
256
+ include DocumentsUploadsRoutes
259
257
 
260
- # signed documents downloads
261
- get("/#{version}/consumers/:consumer_id/documents/:signature_request_id") do
262
- pdf_response 'signed_document.pdf'
263
- end
258
+ # documents orders notifications
259
+ post("/#{version}/documents/orders/valid_id/notify") { status 204 }
260
+ post("/#{version}/documents/orders/invalid_id/notify") do
261
+ json_response 400, 'invalid_order_id.json'
262
+ end
264
263
 
265
- # esign_templates
266
- get("/#{version}/esign_templates") { json_response 200, 'esign_templates.json' }
264
+ # signed documents downloads
265
+ get("/#{version}/consumers/:consumer_id/documents/:signature_request_id") do
266
+ pdf_response 'signed_document.pdf'
267
+ end
267
268
 
268
- # consumers
269
- get("/#{version}/consumers") do
270
- json_response 200, 'users.json'
271
- end
272
- get("/#{version}/consumers/valid_public_id") do
273
- json_response 200, 'user.json'
274
- end
275
- get("/#{version}/consumers/invalid_public_id") do
276
- json_response 404, 'resource_not_found.json'
277
- end
278
- post("/#{version}/consumers") do
279
- request.body.rewind
280
- request_payload = JSON.parse request.body.read
281
- if request_payload['password']
282
- json_response 201, 'user.json'
283
- else
284
- json_response 400, 'invalid_request_body.json'
269
+ # esign_templates
270
+ get("/#{version}/esign_templates") { json_response 200, 'esign_templates.json' }
271
+
272
+ # document_upload_types
273
+ get("/#{version}/documents/upload_types") { json_response 200, 'upload_types.json' }
274
+
275
+ # consumers
276
+ get("/#{version}/consumers") do
277
+ json_response 200, 'users.json'
285
278
  end
286
- end
287
- put("/#{version}/consumers/valid_public_id") { status 204 }
288
- put("/#{version}/consumers/invalid_public_id") do
289
- json_response 400, 'invalid_user_id.json'
290
- end
291
- put("/#{version}/consumers/valid_public_id/password") do
292
- json_response 200, 'user.json'
293
- end
294
- put("/#{version}/consumers/invalid_public_id/password") do
295
- json_response 404, 'resource_not_found.json'
296
- end
297
- delete("/#{version}/consumers/valid_public_id") { status 204 }
298
- delete("/#{version}/consumers/invalid_public_id") do
299
- json_response 404, 'resource_not_found.json'
300
- end
301
- post("/#{version}/logout") { status 204 }
279
+ get("/#{version}/consumers/valid_public_id") do
280
+ json_response 200, 'user.json'
281
+ end
282
+ get("/#{version}/consumers/invalid_public_id") do
283
+ json_response 404, 'resource_not_found.json'
284
+ end
285
+ post("/#{version}/consumers") do
286
+ request.body.rewind
287
+ request_payload = JSON.parse request.body.read
288
+ if request_payload['password']
289
+ json_response 201, 'user.json'
290
+ else
291
+ json_response 400, 'invalid_request_body.json'
292
+ end
293
+ end
294
+ put("/#{version}/consumers/valid_public_id") { status 204 }
295
+ put("/#{version}/consumers/invalid_public_id") do
296
+ json_response 400, 'invalid_user_id.json'
297
+ end
298
+ put("/#{version}/consumers/valid_public_id/password") do
299
+ json_response 200, 'user.json'
300
+ end
301
+ put("/#{version}/consumers/invalid_public_id/password") do
302
+ json_response 404, 'resource_not_found.json'
303
+ end
304
+ delete("/#{version}/consumers/valid_public_id") { status 204 }
305
+ delete("/#{version}/consumers/invalid_public_id") do
306
+ json_response 404, 'resource_not_found.json'
307
+ end
308
+ post("/#{version}/logout") { status 204 }
302
309
 
303
- # operators
304
- get("/#{version}/operators") { json_response 200, 'operator_list.json' }
305
- get("/#{version}/operators/invalid_id") do
306
- json_response 404, 'resource_not_found.json'
307
- end
308
- get("/#{version}/operators/valid_id") { json_response 200, 'operator.json' }
309
- delete("/#{version}/operators/invalid_id") do
310
- json_response 404, 'resource_not_found.json'
311
- end
312
- delete("/#{version}/operators/valid_id") { status 204 }
313
- post("/#{version}/operators/password/change") do
314
- json_response 200, 'operator.json'
315
- end
316
- put("/#{version}/operators/invalid_id") do
317
- json_response 404, 'resource_not_found.json'
318
- end
319
- put("/#{version}/operators/valid_id") { json_response 200, 'operator.json' }
320
- put("/#{version}/operators/valid_id/assign") { status 204 }
321
- put("/#{version}/operators/invalid_id/assign") do
322
- json_response 404, 'resource_not_found.json'
323
- end
324
- post("/#{version}/operators/password/forgot") do
325
- json_response 200, 'operator_forgot_password.json'
326
- end
327
- post("/#{version}/operators/password/reset") do
328
- request.body.rewind
329
- request_payload = JSON.parse request.body.read
330
- if request_payload['params'] == 'valid'
310
+ # operators
311
+ get("/#{version}/operators") { json_response 200, 'operator_list.json' }
312
+ get("/#{version}/operators/invalid_id") do
313
+ json_response 404, 'resource_not_found.json'
314
+ end
315
+ get("/#{version}/operators/valid_id") { json_response 200, 'operator.json' }
316
+ delete("/#{version}/operators/invalid_id") do
317
+ json_response 404, 'resource_not_found.json'
318
+ end
319
+ delete("/#{version}/operators/valid_id") { status 204 }
320
+ post("/#{version}/operators/password/change") do
331
321
  json_response 200, 'operator.json'
332
- else
333
- json_response 400, 'invalid_request_body.json'
334
322
  end
335
- end
336
- post("/#{version}/operators") do
337
- request.body.rewind
338
- request_payload = JSON.parse request.body.read
339
- if request_payload['params'] == 'valid'
340
- json_response 201, 'operator.json'
341
- else
342
- json_response 400, 'invalid_request_body.json'
323
+ put("/#{version}/operators/invalid_id") do
324
+ json_response 404, 'resource_not_found.json'
325
+ end
326
+ put("/#{version}/operators/valid_id") { json_response 200, 'operator.json' }
327
+ put("/#{version}/operators/valid_id/assign") { status 204 }
328
+ put("/#{version}/operators/invalid_id/assign") do
329
+ json_response 404, 'resource_not_found.json'
330
+ end
331
+ post("/#{version}/operators/password/forgot") do
332
+ json_response 200, 'operator_forgot_password.json'
333
+ end
334
+ post("/#{version}/operators/password/reset") do
335
+ request.body.rewind
336
+ request_payload = JSON.parse request.body.read
337
+ if request_payload['params'] == 'valid'
338
+ json_response 200, 'operator.json'
339
+ else
340
+ json_response 400, 'invalid_request_body.json'
341
+ end
342
+ end
343
+ post("/#{version}/operators") do
344
+ request.body.rewind
345
+ request_payload = JSON.parse request.body.read
346
+ if request_payload['params'] == 'valid'
347
+ json_response 201, 'operator.json'
348
+ else
349
+ json_response 400, 'invalid_request_body.json'
350
+ end
343
351
  end
344
- end
345
352
 
346
- # session
347
- post("/#{version}/login") do
348
- request.body.rewind
349
- request_payload = JSON.parse request.body.read
350
- if request_payload['password'] == 'valid_password'
351
- json_response(200, 'user.json')
352
- else
353
- json_response(401, 'unauthorized.json')
353
+ # session
354
+ post("/#{version}/login") do
355
+ request.body.rewind
356
+ request_payload = JSON.parse request.body.read
357
+ if request_payload['password'] == 'valid_password'
358
+ json_response(200, 'user.json')
359
+ else
360
+ json_response(401, 'unauthorized.json')
361
+ end
354
362
  end
355
- end
356
- post("/#{version}/operators/login") { json_response 200, 'operator.json' }
363
+ post("/#{version}/operators/login") { json_response 200, 'operator.json' }
357
364
 
358
- # password resets
359
- post("/#{version}/tenant/valid_user_id/password") do
360
- json_response 200, 'password_reset_token.json'
361
- end
362
- post("/#{version}/tenant/invalid_user_id/password") do
363
- json_response 404, 'resource_not_found.json'
364
- end
365
- put("/#{version}/tenant/valid_user_id/password") do
366
- request.body.rewind
367
- request_payload = JSON.parse request.body.read
368
- if request_payload['token'] == 'valid_token'
369
- json_response(200, 'user.json')
370
- else
371
- json_response(400, 'invalid_request_body.json')
365
+ # password resets
366
+ post("/#{version}/tenant/valid_user_id/password") do
367
+ json_response 200, 'password_reset_token.json'
368
+ end
369
+ post("/#{version}/tenant/invalid_user_id/password") do
370
+ json_response 404, 'resource_not_found.json'
371
+ end
372
+ put("/#{version}/tenant/valid_user_id/password") do
373
+ request.body.rewind
374
+ request_payload = JSON.parse request.body.read
375
+ if request_payload['token'] == 'valid_token'
376
+ json_response(200, 'user.json')
377
+ else
378
+ json_response(400, 'invalid_request_body.json')
379
+ end
380
+ end
381
+ put("/#{version}/tenant/invalid_user_id/password") do
382
+ json_response 404, 'resource_not_found.json'
372
383
  end
373
- end
374
- put("/#{version}/tenant/invalid_user_id/password") do
375
- json_response 404, 'resource_not_found.json'
376
- end
377
384
 
378
- # products
379
- get("/#{version}/products") { json_response 200, 'products.json' }
385
+ # products
386
+ get("/#{version}/products") { json_response 200, 'products.json' }
380
387
 
381
- # portfolios
382
- get("/#{version}/portfolios") { json_response 200, 'portfolios.json' }
383
- get("/#{version}/portfolios/valid_id") { json_response 200, 'portfolio.json' }
384
- get("/#{version}/portfolios/invalid_id") do
385
- json_response 404, 'resource_not_found.json'
386
- end
387
- post("/#{version}/portfolios") do
388
- request.body.rewind
389
- request_payload = JSON.parse request.body.read
390
- if request_payload['product'] == 'invalid'
391
- json_response(400, 'invalid_request_body.json')
392
- else
393
- json_response(200, 'portfolio.json')
388
+ # portfolios
389
+ get("/#{version}/portfolios") { json_response 200, 'portfolios.json' }
390
+ get("/#{version}/portfolios/valid_id") { json_response 200, 'portfolio.json' }
391
+ get("/#{version}/portfolios/invalid_id") do
392
+ json_response 404, 'resource_not_found.json'
393
+ end
394
+ post("/#{version}/portfolios") do
395
+ request.body.rewind
396
+ request_payload = JSON.parse request.body.read
397
+ if request_payload['product'] == 'invalid'
398
+ json_response(400, 'invalid_request_body.json')
399
+ else
400
+ json_response(200, 'portfolio.json')
401
+ end
402
+ end
403
+ put("/#{version}/portfolios/valid_id") { json_response 200, 'portfolio.json' }
404
+ put("/#{version}/portfolios/invalid_id") do
405
+ json_response 404, 'resource_not_found.json'
406
+ end
407
+ delete("/#{version}/portfolios/valid_id") { status 204 }
408
+ delete("/#{version}/portfolios/invalid_id") do
409
+ json_response 404, 'resource_not_found.json'
394
410
  end
395
- end
396
- put("/#{version}/portfolios/valid_id") { json_response 200, 'portfolio.json' }
397
- put("/#{version}/portfolios/invalid_id") do
398
- json_response 404, 'resource_not_found.json'
399
- end
400
- delete("/#{version}/portfolios/valid_id") { status 204 }
401
- delete("/#{version}/portfolios/invalid_id") do
402
- json_response 404, 'resource_not_found.json'
403
- end
404
411
 
405
- # alert definitions
406
- get("/#{version}/portfolio/alerts/definitions") do
407
- json_response 200, 'alert_definitions.json'
408
- end
409
- get("/#{version}/portfolio/alerts/definitions/valid_id") do
410
- json_response 200, 'alert_definition.json'
411
- end
412
- get("/#{version}/portfolio/alerts/definitions/invalid_id") do
413
- json_response 404, 'resource_not_found.json'
414
- end
412
+ # alert definitions
413
+ get("/#{version}/portfolio/alerts/definitions") do
414
+ json_response 200, 'alert_definitions.json'
415
+ end
416
+ get("/#{version}/portfolio/alerts/definitions/valid_id") do
417
+ json_response 200, 'alert_definition.json'
418
+ end
419
+ get("/#{version}/portfolio/alerts/definitions/invalid_id") do
420
+ json_response 404, 'resource_not_found.json'
421
+ end
415
422
 
416
- # alert occurrences
417
- get("/#{version}/portfolio/alerts/occurrences") do
418
- json_response 200, 'alert_occurrences.json'
419
- end
423
+ # alert occurrences
424
+ get("/#{version}/portfolio/alerts/occurrences") do
425
+ json_response 200, 'alert_occurrences.json'
426
+ end
420
427
 
421
- # portfolios alerts
422
- get("/#{version}/portfolios/valid_id/alerts") do
423
- json_response 200, 'portfolios_alerts.json'
424
- end
425
- get("/#{version}/portfolios/invalid_id/alerts") do
426
- json_response 404, 'resource_not_found.json'
427
- end
428
- put("/#{version}/portfolios/valid_id/alerts/valid_id") { status 204 }
429
- put("/#{version}/portfolios/invalid_id/alerts/invalid_id") do
430
- json_response 404, 'resource_not_found.json'
431
- end
432
- delete("/#{version}/portfolios/valid_id/alerts/valid_id") { status 204 }
433
- delete("/#{version}/portfolios/invalid_id/alerts/invalid_id") do
434
- json_response 404, 'resource_not_found.json'
435
- end
428
+ # portfolios alerts
429
+ get("/#{version}/portfolios/valid_id/alerts") do
430
+ json_response 200, 'portfolios_alerts.json'
431
+ end
432
+ get("/#{version}/portfolios/invalid_id/alerts") do
433
+ json_response 404, 'resource_not_found.json'
434
+ end
435
+ put("/#{version}/portfolios/valid_id/alerts/valid_id") { status 204 }
436
+ put("/#{version}/portfolios/invalid_id/alerts/invalid_id") do
437
+ json_response 404, 'resource_not_found.json'
438
+ end
439
+ delete("/#{version}/portfolios/valid_id/alerts/valid_id") { status 204 }
440
+ delete("/#{version}/portfolios/invalid_id/alerts/invalid_id") do
441
+ json_response 404, 'resource_not_found.json'
442
+ end
436
443
 
437
- # portfolios consumers
438
- get("/#{version}/portfolios/valid_id/consumers") do
439
- json_response 200, 'portfolios_consumers.json'
440
- end
441
- get("/#{version}/portfolios/invalid_id/consumers") do
442
- json_response 404, 'resource_not_found.json'
443
- end
444
- post("/#{version}/portfolios/valid_id/consumers") { status 204 }
445
- post("/#{version}/portfolios/invalid_id/consumers") do
446
- json_response 400, 'multiple_consumer_subscribe_error.json'
447
- end
448
- post("/#{version}/portfolios/valid_id/consumers/valid_id") { status 204 }
449
- post("/#{version}/portfolios/invalid_id/consumers/invalid_id") do
450
- json_response 400, 'single_consumer_subscribe_error.json'
451
- end
452
- delete("/#{version}/portfolios/valid_id/consumers/valid_id") { status 204 }
453
- delete("/#{version}/portfolios/invalid_id/consumers/invalid_id") do
454
- json_response 404, 'resource_not_found.json'
455
- end
444
+ # portfolios consumers
445
+ get("/#{version}/portfolios/valid_id/consumers") do
446
+ json_response 200, 'portfolios_consumers.json'
447
+ end
448
+ get("/#{version}/portfolios/invalid_id/consumers") do
449
+ json_response 404, 'resource_not_found.json'
450
+ end
451
+ post("/#{version}/portfolios/valid_id/consumers") { status 204 }
452
+ post("/#{version}/portfolios/invalid_id/consumers") do
453
+ json_response 400, 'multiple_consumer_subscribe_error.json'
454
+ end
455
+ post("/#{version}/portfolios/valid_id/consumers/valid_id") { status 204 }
456
+ post("/#{version}/portfolios/invalid_id/consumers/invalid_id") do
457
+ json_response 400, 'single_consumer_subscribe_error.json'
458
+ end
459
+ delete("/#{version}/portfolios/valid_id/consumers/valid_id") { status 204 }
460
+ delete("/#{version}/portfolios/invalid_id/consumers/invalid_id") do
461
+ json_response 404, 'resource_not_found.json'
462
+ end
456
463
 
457
- # portfolios available consumers
458
- get("/#{version}/portfolios/:id/consumers/available") do
459
- json_response 200, 'portfolios_available_consumers.json'
460
- end
464
+ # portfolios available consumers
465
+ get("/#{version}/portfolios/:id/consumers/available") do
466
+ json_response 200, 'portfolios_available_consumers.json'
467
+ end
461
468
 
462
- # consumers portfolios
463
- get("/#{version}/consumers/valid_id/portfolios") do
464
- json_response 200, 'portfolios.json'
465
- end
466
- get("/#{version}/consumers/invalid_id/portfolios") do
467
- json_response 404, 'resource_not_found.json'
468
- end
469
+ # consumers portfolios
470
+ get("/#{version}/consumers/valid_id/portfolios") do
471
+ json_response 200, 'portfolios.json'
472
+ end
473
+ get("/#{version}/consumers/invalid_id/portfolios") do
474
+ json_response 404, 'resource_not_found.json'
475
+ end
469
476
 
470
- # portfolio reports
471
- get("/#{version}/portfolio/reports") do
472
- json_response 200, 'portfolio_reports.json'
473
- end
477
+ # portfolio reports
478
+ get("/#{version}/portfolio/reports") do
479
+ json_response 200, 'portfolio_reports.json'
480
+ end
474
481
 
475
- # relevance
476
- get("/#{version}/relevance/ruleset/names") do
477
- json_response 200, 'relevance_ruleset_names.json'
478
- end
482
+ # relevance
483
+ get("/#{version}/relevance/ruleset/names") do
484
+ json_response 200, 'relevance_ruleset_names.json'
485
+ end
479
486
 
480
- # errors
481
- get("/#{version}/client_error") { json_response 400, 'error.json' }
482
- get("/#{version}/server_error") { status 500 }
483
- get("/#{version}/proxy_error") { status 407 }
487
+ # errors
488
+ get("/#{version}/client_error") { json_response 400, 'error.json' }
489
+ get("/#{version}/server_error") { status 500 }
490
+ get("/#{version}/proxy_error") { status 407 }
484
491
 
485
- # timeout
486
- get("/#{version}/orders/timeout") { status 419 }
492
+ # timeout
493
+ get("/#{version}/orders/timeout") { status 419 }
487
494
 
488
- private
495
+ private
489
496
 
490
- def json_response(response_code, file_name)
491
- http_response :json, response_code, file_name
492
- end
497
+ def json_response(response_code, file_name)
498
+ http_response :json, response_code, file_name
499
+ end
493
500
 
494
- def png_response(file_name)
495
- http_response :png, 200, file_name
496
- end
501
+ def png_response(file_name)
502
+ http_response :png, 200, file_name
503
+ end
497
504
 
498
- def pdf_response(file_name)
499
- http_response 'application/pdf', 200, file_name
500
- end
505
+ def pdf_response(file_name)
506
+ http_response 'application/pdf', 200, file_name
507
+ end
501
508
 
502
- def http_response(content_type, response_code, file_name)
503
- content_type content_type
504
- status response_code
505
- File.open(File.dirname(__FILE__) + '/fixtures/' + file_name, 'rb').read
509
+ def http_response(content_type, response_code, file_name)
510
+ content_type content_type
511
+ status response_code
512
+ File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}").read
513
+ end
506
514
  end
507
515
  end