files.com 1.0.476 → 1.0.478

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 787022170080b0a9a690dbff16c29220764fa4be39869ecf254bd2f043c2e4b5
4
- data.tar.gz: 24a402bfcd3090e2e38f17b960082505cb45f224dce857a4596f36ff96745dba
3
+ metadata.gz: ce1f6f2dfae40b2c4c22a9e15f76ff1d7ec4d0b14bc3f2f8a96c2f62daba8069
4
+ data.tar.gz: 1e53da553548902ff080b2c336c38e0f5f7dbd38797c2917cd854f1e217002b8
5
5
  SHA512:
6
- metadata.gz: 94177dc66e91a7c396cc2dbd3f0c060fdd3dd154a72577e3c03bbe45490d8bcb9cbb39b82fb628153649031d2879c6ebe2ddc7c86b4fdbde12c78c0221689a34
7
- data.tar.gz: ecf2b36c3119f8068093e6057326c5d873b91c0e02957ea458d74a0bde9b11e9474453a447ba50e0f03e7f4140c341bcd4252e6f3574e14d3db6598a22af8735
6
+ metadata.gz: ffb724bad4a4302023a1980ffb3f39c86303016493f6e85725242481fa3b030bd0a2ee48323afa47eb7d5822dcd36ead97d4fc2aa3537320a1549fcf968451a3
7
+ data.tar.gz: b42cb51eb8d2e4e0464b0dc343a019ddd176faefca63cb3248d22bd2366ea40d1cac846fe2a534db60c8e6784d3c41125b8ce2b10c2bbbf637dd0c7caed4d1e7
data/README.md CHANGED
@@ -86,7 +86,7 @@ Files::Folder).
86
86
  Files::Folder.list_for("/").each do |file|
87
87
  puts file.path
88
88
  end
89
-
89
+
90
90
 
91
91
  #### Writing a file example
92
92
 
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.476
1
+ 1.0.478
@@ -229,7 +229,7 @@ module Files
229
229
  end
230
230
 
231
231
  case e
232
- when Faraday::ClientError
232
+ when Faraday::ClientError, Faraday::ServerError
233
233
  if e.response
234
234
  handle_error_response(e.response, error_context)
235
235
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Files
4
- VERSION = "1.0.476"
4
+ VERSION = "1.0.478"
5
5
  end
@@ -0,0 +1,44 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe Files::ApiClient do
4
+ let(:subject) { described_class.new }
5
+
6
+ describe "#execute_request_with_rescues" do
7
+ let(:context) { double('context', method: 'some method', path: 'some path') }
8
+
9
+ shared_examples 'a server error handler' do
10
+ before do
11
+ allow(subject).to receive(:log_request).and_raise(Faraday::ServerError.new('', mock_response))
12
+ end
13
+
14
+ it 'retries with sleeps and raises general api error' do
15
+ expect(subject).to receive(:sleep).with(0.5).ordered
16
+ expect(subject).to receive(:sleep).with(be_between(0.5, 1)).ordered
17
+ expect(subject).to receive(:sleep).with(be_between(1, 2)).ordered
18
+ expect {
19
+ subject.execute_request_with_rescues(1, context) { 'empty block' }
20
+ }.to raise_error(Files::APIError, error_message)
21
+ end
22
+ end
23
+
24
+ context 'when response is a valid json' do
25
+ it_behaves_like 'a server error handler' do
26
+ let(:error_message) { "Server Error" }
27
+ let(:mock_response) { { status: 502, headers: {}, body: { error: error_message }.to_json } }
28
+ end
29
+ end
30
+
31
+ context 'when response is html' do
32
+ it_behaves_like 'a server error handler' do
33
+ let(:mock_response) {
34
+ {
35
+ status: 502,
36
+ headers: { "Content-Type" => "text/html" },
37
+ body: "<html><head><title>502 Bad Gateway</title></head><body><center><h1>502 Bad Gateway</h1></center><hr><center>files.com</center></body></html>"
38
+ }
39
+ }
40
+ let(:error_message) { "Unexpected response object from API: \"#{mock_response[:body]}\" (HTTP response code was 502)" }
41
+ end
42
+ end
43
+ end
44
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.476
4
+ version: 1.0.478
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -295,6 +295,7 @@ files:
295
295
  - lib/files.com/util.rb
296
296
  - lib/files.com/version.rb
297
297
  - shared/normalization_for_comparison_test_data.json
298
+ - spec/lib/api_client_spec.rb
298
299
  - spec/list_spec.rb
299
300
  - spec/models/file_spec.rb
300
301
  - spec/models/folder_spec.rb