restforce 4.2.0 → 5.0.2
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 +4 -4
- data/.circleci/config.yml +9 -9
- data/.github/ISSUE_TEMPLATE/unhandled-salesforce-error.md +17 -0
- data/.rubocop.yml +4 -3
- data/.rubocop_todo.yml +2 -2
- data/CHANGELOG.md +42 -0
- data/CONTRIBUTING.md +21 -1
- data/Dockerfile +31 -0
- data/Gemfile +0 -1
- data/README.md +43 -19
- data/UPGRADING.md +38 -0
- data/docker-compose.yml +7 -0
- data/lib/restforce.rb +10 -13
- data/lib/restforce/collection.rb +7 -2
- data/lib/restforce/concerns/api.rb +1 -1
- data/lib/restforce/concerns/caching.rb +7 -0
- data/lib/restforce/concerns/connection.rb +3 -3
- data/lib/restforce/concerns/picklists.rb +1 -1
- data/lib/restforce/config.rb +4 -1
- data/lib/restforce/error_code.rb +416 -0
- data/lib/restforce/file_part.rb +24 -0
- data/lib/restforce/mash.rb +8 -3
- data/lib/restforce/middleware.rb +2 -0
- data/lib/restforce/middleware/authentication.rb +4 -1
- data/lib/restforce/middleware/caching.rb +1 -1
- data/lib/restforce/middleware/instance_url.rb +1 -1
- data/lib/restforce/middleware/logger.rb +3 -2
- data/lib/restforce/middleware/raise_error.rb +3 -4
- data/lib/restforce/version.rb +1 -1
- data/restforce.gemspec +12 -13
- data/spec/integration/abstract_client_spec.rb +18 -6
- data/spec/spec_helper.rb +14 -1
- data/spec/support/fixture_helpers.rb +1 -3
- data/spec/unit/collection_spec.rb +18 -0
- data/spec/unit/concerns/api_spec.rb +1 -1
- data/spec/unit/concerns/caching_spec.rb +26 -0
- data/spec/unit/concerns/connection_spec.rb +2 -2
- data/spec/unit/error_code_spec.rb +61 -0
- data/spec/unit/mash_spec.rb +5 -0
- data/spec/unit/middleware/authentication_spec.rb +27 -4
- data/spec/unit/middleware/raise_error_spec.rb +19 -10
- data/spec/unit/signed_request_spec.rb +1 -1
- data/spec/unit/sobject_spec.rb +2 -5
- metadata +33 -40
- data/lib/restforce/upload_io.rb +0 -9
|
@@ -18,8 +18,8 @@ describe Restforce::Middleware::RaiseError do
|
|
|
18
18
|
'INVALID_FIELD: error_message'
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
it 'raises an error that inherits from Faraday::
|
|
22
|
-
expect { on_complete }.to raise_error Faraday::
|
|
21
|
+
it 'raises an error that inherits from Faraday::ResourceNotFound' do
|
|
22
|
+
expect { on_complete }.to raise_error Faraday::ResourceNotFound
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -31,8 +31,8 @@ describe Restforce::Middleware::RaiseError do
|
|
|
31
31
|
/300: The external ID provided/
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
it 'raises an error that inherits from Faraday::
|
|
35
|
-
expect { on_complete }.to raise_error Faraday::
|
|
34
|
+
it 'raises an error that inherits from Faraday::ClientError' do
|
|
35
|
+
expect { on_complete }.to raise_error Faraday::ClientError
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
|
|
@@ -44,8 +44,8 @@ describe Restforce::Middleware::RaiseError do
|
|
|
44
44
|
'INVALID_FIELD: error_message'
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
it 'raises an error that inherits from Faraday::
|
|
48
|
-
expect { on_complete }.to raise_error Faraday::
|
|
47
|
+
it 'raises an error that inherits from Faraday::ClientError' do
|
|
48
|
+
expect { on_complete }.to raise_error Faraday::ClientError
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
@@ -66,8 +66,8 @@ describe Restforce::Middleware::RaiseError do
|
|
|
66
66
|
'413: Request Entity Too Large'
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
it 'raises an error that inherits from Faraday::
|
|
70
|
-
expect { on_complete }.to raise_error Faraday::
|
|
69
|
+
it 'raises an error that inherits from Faraday::ClientError' do
|
|
70
|
+
expect { on_complete }.to raise_error Faraday::ClientError
|
|
71
71
|
end
|
|
72
72
|
end
|
|
73
73
|
|
|
@@ -80,10 +80,19 @@ describe Restforce::Middleware::RaiseError do
|
|
|
80
80
|
"(error code missing): #{body}"
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
-
it 'raises an error that inherits from Faraday::
|
|
84
|
-
expect { on_complete }.to raise_error Faraday::
|
|
83
|
+
it 'raises an error that inherits from Faraday::ClientError' do
|
|
84
|
+
expect { on_complete }.to raise_error Faraday::ClientError,
|
|
85
85
|
"(error code missing): #{body}"
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
|
+
|
|
89
|
+
context 'when error code is not already defined' do
|
|
90
|
+
let(:body) { { 'errorCode' => 'SOMETHING_UNDEFINED' } }
|
|
91
|
+
let(:status) { 400 }
|
|
92
|
+
|
|
93
|
+
it 'raises a generic Restforce::ResponseError' do
|
|
94
|
+
expect { on_complete }.to raise_error Restforce::ResponseError
|
|
95
|
+
end
|
|
96
|
+
end
|
|
88
97
|
end
|
|
89
98
|
end
|
data/spec/unit/sobject_spec.rb
CHANGED
|
@@ -45,13 +45,10 @@ describe Restforce::SObject do
|
|
|
45
45
|
destroy: :destroy,
|
|
46
46
|
destroy!: :destroy! }.each do |method, receiver|
|
|
47
47
|
describe ".#{method}" do
|
|
48
|
-
subject(:send_method) { sobject.send(method) }
|
|
48
|
+
subject(:send_method) { lambda { sobject.send(method) } }
|
|
49
49
|
|
|
50
50
|
context 'when an Id was not queried' do
|
|
51
|
-
it
|
|
52
|
-
expect { send_method }.to raise_error ArgumentError,
|
|
53
|
-
/need to query the Id for the record/
|
|
54
|
-
end
|
|
51
|
+
it { should raise_error ArgumentError, /need to query the Id for the record/ }
|
|
55
52
|
end
|
|
56
53
|
|
|
57
54
|
context 'when an Id is present' do
|
metadata
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: restforce
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Eric J. Holmes
|
|
8
7
|
- Tim Rogers
|
|
8
|
+
- Eric J. Holmes
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2020-09-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: faraday
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
+
- - "<="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '2.0'
|
|
18
21
|
- - ">="
|
|
19
22
|
- !ruby/object:Gem::Version
|
|
20
23
|
version: 0.9.0
|
|
21
|
-
- - "<="
|
|
22
|
-
- !ruby/object:Gem::Version
|
|
23
|
-
version: '1.0'
|
|
24
24
|
type: :runtime
|
|
25
25
|
prerelease: false
|
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
|
27
27
|
requirements:
|
|
28
|
+
- - "<="
|
|
29
|
+
- !ruby/object:Gem::Version
|
|
30
|
+
version: '2.0'
|
|
28
31
|
- - ">="
|
|
29
32
|
- !ruby/object:Gem::Version
|
|
30
33
|
version: 0.9.0
|
|
31
|
-
- - "<="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '1.0'
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: faraday_middleware
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -40,7 +40,7 @@ dependencies:
|
|
|
40
40
|
version: 0.8.8
|
|
41
41
|
- - "<="
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '
|
|
43
|
+
version: '2.0'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
46
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -50,21 +50,7 @@ dependencies:
|
|
|
50
50
|
version: 0.8.8
|
|
51
51
|
- - "<="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: json
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: 1.7.5
|
|
61
|
-
type: :runtime
|
|
62
|
-
prerelease: false
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - ">="
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.7.5
|
|
53
|
+
version: '2.0'
|
|
68
54
|
- !ruby/object:Gem::Dependency
|
|
69
55
|
name: jwt
|
|
70
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -88,7 +74,7 @@ dependencies:
|
|
|
88
74
|
version: 1.2.0
|
|
89
75
|
- - "<"
|
|
90
76
|
- !ruby/object:Gem::Version
|
|
91
|
-
version: '
|
|
77
|
+
version: '5.0'
|
|
92
78
|
type: :runtime
|
|
93
79
|
prerelease: false
|
|
94
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -98,7 +84,7 @@ dependencies:
|
|
|
98
84
|
version: 1.2.0
|
|
99
85
|
- - "<"
|
|
100
86
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: '
|
|
87
|
+
version: '5.0'
|
|
102
88
|
- !ruby/object:Gem::Dependency
|
|
103
89
|
name: faye
|
|
104
90
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -147,62 +133,66 @@ dependencies:
|
|
|
147
133
|
requirements:
|
|
148
134
|
- - "~>"
|
|
149
135
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: 0.
|
|
136
|
+
version: 0.90.0
|
|
151
137
|
type: :development
|
|
152
138
|
prerelease: false
|
|
153
139
|
version_requirements: !ruby/object:Gem::Requirement
|
|
154
140
|
requirements:
|
|
155
141
|
- - "~>"
|
|
156
142
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 0.
|
|
143
|
+
version: 0.90.0
|
|
158
144
|
- !ruby/object:Gem::Dependency
|
|
159
145
|
name: simplecov
|
|
160
146
|
requirement: !ruby/object:Gem::Requirement
|
|
161
147
|
requirements:
|
|
162
148
|
- - "~>"
|
|
163
149
|
- !ruby/object:Gem::Version
|
|
164
|
-
version: 0.
|
|
150
|
+
version: 0.19.0
|
|
165
151
|
type: :development
|
|
166
152
|
prerelease: false
|
|
167
153
|
version_requirements: !ruby/object:Gem::Requirement
|
|
168
154
|
requirements:
|
|
169
155
|
- - "~>"
|
|
170
156
|
- !ruby/object:Gem::Version
|
|
171
|
-
version: 0.
|
|
157
|
+
version: 0.19.0
|
|
172
158
|
- !ruby/object:Gem::Dependency
|
|
173
159
|
name: webmock
|
|
174
160
|
requirement: !ruby/object:Gem::Requirement
|
|
175
161
|
requirements:
|
|
176
162
|
- - "~>"
|
|
177
163
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 3.
|
|
164
|
+
version: 3.8.3
|
|
179
165
|
type: :development
|
|
180
166
|
prerelease: false
|
|
181
167
|
version_requirements: !ruby/object:Gem::Requirement
|
|
182
168
|
requirements:
|
|
183
169
|
- - "~>"
|
|
184
170
|
- !ruby/object:Gem::Version
|
|
185
|
-
version: 3.
|
|
186
|
-
description: A lightweight
|
|
171
|
+
version: 3.8.3
|
|
172
|
+
description: A lightweight Ruby client for the Salesforce REST API
|
|
187
173
|
email:
|
|
174
|
+
- me@timrogers.co.uk
|
|
188
175
|
- eric@ejholmes.net
|
|
189
|
-
- tim@gocardless.com
|
|
190
176
|
executables: []
|
|
191
177
|
extensions: []
|
|
192
178
|
extra_rdoc_files: []
|
|
193
179
|
files:
|
|
194
180
|
- ".circleci/config.yml"
|
|
181
|
+
- ".github/ISSUE_TEMPLATE/unhandled-salesforce-error.md"
|
|
195
182
|
- ".gitignore"
|
|
196
183
|
- ".rubocop.yml"
|
|
197
184
|
- ".rubocop_todo.yml"
|
|
198
185
|
- CHANGELOG.md
|
|
199
186
|
- CODE_OF_CONDUCT.md
|
|
200
187
|
- CONTRIBUTING.md
|
|
188
|
+
- Dockerfile
|
|
201
189
|
- Gemfile
|
|
202
190
|
- Guardfile
|
|
203
191
|
- LICENSE
|
|
204
192
|
- README.md
|
|
205
193
|
- Rakefile
|
|
194
|
+
- UPGRADING.md
|
|
195
|
+
- docker-compose.yml
|
|
206
196
|
- lib/restforce.rb
|
|
207
197
|
- lib/restforce/abstract_client.rb
|
|
208
198
|
- lib/restforce/attachment.rb
|
|
@@ -221,6 +211,8 @@ files:
|
|
|
221
211
|
- lib/restforce/config.rb
|
|
222
212
|
- lib/restforce/data/client.rb
|
|
223
213
|
- lib/restforce/document.rb
|
|
214
|
+
- lib/restforce/error_code.rb
|
|
215
|
+
- lib/restforce/file_part.rb
|
|
224
216
|
- lib/restforce/mash.rb
|
|
225
217
|
- lib/restforce/middleware.rb
|
|
226
218
|
- lib/restforce/middleware/authentication.rb
|
|
@@ -240,7 +232,6 @@ files:
|
|
|
240
232
|
- lib/restforce/signed_request.rb
|
|
241
233
|
- lib/restforce/sobject.rb
|
|
242
234
|
- lib/restforce/tooling/client.rb
|
|
243
|
-
- lib/restforce/upload_io.rb
|
|
244
235
|
- lib/restforce/version.rb
|
|
245
236
|
- restforce.gemspec
|
|
246
237
|
- script/bootstrap
|
|
@@ -306,6 +297,7 @@ files:
|
|
|
306
297
|
- spec/unit/config_spec.rb
|
|
307
298
|
- spec/unit/data/client_spec.rb
|
|
308
299
|
- spec/unit/document_spec.rb
|
|
300
|
+
- spec/unit/error_code_spec.rb
|
|
309
301
|
- spec/unit/mash_spec.rb
|
|
310
302
|
- spec/unit/middleware/authentication/jwt_bearer_spec.rb
|
|
311
303
|
- spec/unit/middleware/authentication/password_spec.rb
|
|
@@ -321,7 +313,7 @@ files:
|
|
|
321
313
|
- spec/unit/signed_request_spec.rb
|
|
322
314
|
- spec/unit/sobject_spec.rb
|
|
323
315
|
- spec/unit/tooling/client_spec.rb
|
|
324
|
-
homepage:
|
|
316
|
+
homepage: https://restforce.github.io/
|
|
325
317
|
licenses:
|
|
326
318
|
- MIT
|
|
327
319
|
metadata:
|
|
@@ -335,17 +327,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
335
327
|
requirements:
|
|
336
328
|
- - ">="
|
|
337
329
|
- !ruby/object:Gem::Version
|
|
338
|
-
version: '2.
|
|
330
|
+
version: '2.5'
|
|
339
331
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
340
332
|
requirements:
|
|
341
333
|
- - ">="
|
|
342
334
|
- !ruby/object:Gem::Version
|
|
343
335
|
version: '0'
|
|
344
336
|
requirements: []
|
|
345
|
-
rubygems_version: 3.
|
|
337
|
+
rubygems_version: 3.1.2
|
|
346
338
|
signing_key:
|
|
347
339
|
specification_version: 4
|
|
348
|
-
summary: A lightweight
|
|
340
|
+
summary: A lightweight Ruby client for the Salesforce REST API
|
|
349
341
|
test_files:
|
|
350
342
|
- spec/fixtures/auth_error_response.json
|
|
351
343
|
- spec/fixtures/auth_success_response.json
|
|
@@ -406,6 +398,7 @@ test_files:
|
|
|
406
398
|
- spec/unit/config_spec.rb
|
|
407
399
|
- spec/unit/data/client_spec.rb
|
|
408
400
|
- spec/unit/document_spec.rb
|
|
401
|
+
- spec/unit/error_code_spec.rb
|
|
409
402
|
- spec/unit/mash_spec.rb
|
|
410
403
|
- spec/unit/middleware/authentication/jwt_bearer_spec.rb
|
|
411
404
|
- spec/unit/middleware/authentication/password_spec.rb
|