gnip_api 1.1.1 → 1.1.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/Gemfile.lock +1 -1
- data/lib/gnip_api/adapter.rb +1 -1
- data/lib/gnip_api/errors.rb +6 -0
- data/lib/gnip_api/version.rb +1 -1
- data/spec/gnip_api/adapter_spec.rb +30 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a2752b22cd623729d2f859893f4b301eb576aef
|
4
|
+
data.tar.gz: cdbeef52238ba6c0bd037f06e68710b11337a8d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1f568484d56dc95e14831a248200221c85d33fbb0e40c03f798c3de58d65f2f4e078dd11000aae87c8d3e419d79d48297fd1e6c410367bfbe63d8846a43f249
|
7
|
+
data.tar.gz: eda1592b79c965360154a25986cd149ad5fc2fe080153199a91996969ca67191aa373b1f49e9c1d4adc5887c3fe2891c2e7cdf08629eae1c5181274297b9b7d2
|
data/Gemfile.lock
CHANGED
data/lib/gnip_api/adapter.rb
CHANGED
@@ -52,7 +52,7 @@ module GnipApi
|
|
52
52
|
error_message = response.error_message
|
53
53
|
@logger.error "#{response.request_method} request to #{response.request_uri} returned with status #{response.status} FAIL: #{error_message}"
|
54
54
|
raise GnipApi::Errors::Adapter::GnipSoftwareError.new error_message if response.status == 503 || response.status == '503'
|
55
|
-
|
55
|
+
raise GnipApi::Errors::Adapter::RateLimitError.new error_message if response.status == 429 || response.status == '429'
|
56
56
|
raise GnipApi::Errors::Adapter::RequestError.new error_message
|
57
57
|
end
|
58
58
|
end
|
data/lib/gnip_api/errors.rb
CHANGED
@@ -20,6 +20,12 @@ module GnipApi
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
class RateLimitError < StandardError
|
24
|
+
def initialize msg='Exceded rate limits'
|
25
|
+
@message = msg
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
23
29
|
class GnipSoftwareError < StandardError
|
24
30
|
def initialize msg='Gnip Software Error'
|
25
31
|
@message = msg
|
data/lib/gnip_api/version.rb
CHANGED
@@ -75,4 +75,34 @@ describe GnipApi::Adapter do
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
describe '#check_response_for_errors' do
|
79
|
+
before{ configure_gem }
|
80
|
+
let(:adapter) { GnipApi::Adapter.new }
|
81
|
+
let(:request) { GnipApi::Request.new_get(@uri) }
|
82
|
+
|
83
|
+
context 'when is ok' do
|
84
|
+
let(:response) { GnipApi::Response.new(request, 200, 'good body', {}) }
|
85
|
+
it('does not throw exception') { expect(Proc.new{adapter.check_response_for_errors(response)}).not_to raise_error }
|
86
|
+
end
|
87
|
+
|
88
|
+
context 'when rate limited' do
|
89
|
+
let(:error_message){ {"error"=>{"message"=>"Exceeded rate limit", "sent"=>"2017-06-05T16:20:43+00:00", "transactionId"=>"00629e29000a91c1"}}.to_json }
|
90
|
+
let(:response) { GnipApi::Response.new(request, 429, error_message, {}) }
|
91
|
+
it('raises RateLimitError') { expect(Proc.new{adapter.check_response_for_errors(response)}).to raise_error(GnipApi::Errors::Adapter::RateLimitError) }
|
92
|
+
end
|
93
|
+
|
94
|
+
context 'when software error' do
|
95
|
+
let(:error_message){ {"error"=>{"message"=>"some server error", "sent"=>"2017-06-05T16:20:43+00:00", "transactionId"=>"00629e29000a91c1"}}.to_json }
|
96
|
+
let(:response) { GnipApi::Response.new(request, 503, error_message, {}) }
|
97
|
+
it('raises GnipSoftwareError') { expect(Proc.new{adapter.check_response_for_errors(response)}).to raise_error(GnipApi::Errors::Adapter::GnipSoftwareError) }
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'when other error' do
|
101
|
+
let(:error_message){ {"error"=>{"message"=>"Exceeded rate limit", "sent"=>"2017-06-05T16:20:43+00:00", "transactionId"=>"00629e29000a91c1"}}.to_json }
|
102
|
+
let(:response) { GnipApi::Response.new(request, 400, error_message, {}) }
|
103
|
+
it('raises generic error') { expect(Proc.new{adapter.check_response_for_errors(response)}).to raise_error(GnipApi::Errors::Adapter::RequestError) }
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
107
|
+
|
78
108
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gnip_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rayko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|