cloudsight 0.1.0 → 0.1.1

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
- SHA1:
3
- metadata.gz: 478811edc71cf94a43fbbb5c6f90523abcff2566
4
- data.tar.gz: 4ec2871c44911b853f97412d83d69cc4e97668b3
2
+ SHA256:
3
+ metadata.gz: 8b27c9ad341947fd8365b93eeca9202c44bc6997cc153171e45528e0a4f7553e
4
+ data.tar.gz: c4a7a7de5c7b9704925edbab211097e675802937ea3d71070ddd10624c54dfe9
5
5
  SHA512:
6
- metadata.gz: 2c638e70d37ba3ebafd51ec85e3f7d524cad69edf42513351fe22ec41124106ef99a6e2eebfd500224a68c6fb27df60030e046afeecf6de291b44a210e51489a
7
- data.tar.gz: 17608322f8b79f1e7ba8ba229a3d05dd96fc1615f07a350414e58992e0bf22819a2f2408b0111be7898f487b89a67b763265fd1adbb2a09f84c4d2d54ffcd60e
6
+ metadata.gz: 575f5503cee38dfd89d8f58cae1a04ee9ba994d6b0dd03f7ebdf9ee917e8c3923a40c66ffd4ceb7b6221dc4cef6bf4cc5645c14d0f2c5efab8011454418d1ed5
7
+ data.tar.gz: 439fb02ed6c5164ca146d76150832729c348260337b918205bcb753fa1220aa0fbc3f9ed9652baf596f2fc35918caf5ab1d966215d7d88078b6af7507a87ad41
@@ -0,0 +1 @@
1
+ ruby 2.7.1
@@ -13,7 +13,8 @@ before_install:
13
13
  - gem update bundler
14
14
 
15
15
  rvm:
16
- - 2.1
17
- - 2.2.0
18
16
  - 2.3.0
19
17
  - 2.4.0
18
+ - 2.5.0
19
+ - 2.6.0
20
+ - 2.7.0
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'json', '~> 2.1'
26
26
  s.add_dependency 'rest-client', '~> 2.0'
27
27
 
28
- s.add_development_dependency 'bundler', '~> 1.6'
28
+ s.add_development_dependency 'bundler', '~> 2.0'
29
29
  s.add_development_dependency 'rake', '~> 12.0'
30
30
  s.add_development_dependency 'rspec', '~> 3.6'
31
31
  s.add_development_dependency 'pry', '~> 0.10'
@@ -12,6 +12,9 @@ module Cloudsight
12
12
  raise UnexpectedResponseException.new(response.body) unless data['token']
13
13
 
14
14
  data
15
+
16
+ rescue JSON::ParserError
17
+ raise UnexpectedResponseException.new(response.body)
15
18
  end
16
19
 
17
20
  def repost(token, options = {})
@@ -25,6 +28,9 @@ module Cloudsight
25
28
  raise UnexpectedResponseException.new(response.body) unless data['token']
26
29
 
27
30
  data
31
+
32
+ rescue JSON::ParserError
33
+ raise UnexpectedResponseException.new(response.body)
28
34
  end
29
35
 
30
36
  def construct_params(options)
@@ -10,6 +10,9 @@ module Cloudsight
10
10
  raise UnexpectedResponseException.new(response.body) unless data['status']
11
11
 
12
12
  data
13
+
14
+ rescue JSON::ParserError
15
+ raise UnexpectedResponseException.new(response.body)
13
16
  end
14
17
 
15
18
  def retrieve(token, options = {})
@@ -1,3 +1,3 @@
1
1
  module Cloudsight
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -55,7 +55,7 @@ RSpec.describe Cloudsight::Request do
55
55
  response: fixture_file('image_request.json')
56
56
  )
57
57
 
58
- response = described_class.send(params)
58
+ response = described_class.send(params)
59
59
 
60
60
  expect(response["token"]).to eq "sample_token"
61
61
  expect(response["url"]).to eq "https://example.com/image.jpg"
@@ -81,6 +81,16 @@ RSpec.describe Cloudsight::Request do
81
81
 
82
82
  expect { described_class.send(params) }.to raise_error Cloudsight::UnexpectedResponseException
83
83
  end
84
+
85
+ it 'responds correctly to an invalid JSON response' do
86
+ stub_post(
87
+ path: '/v1/images',
88
+ body: { "locale" => "en", "remote_image_url" => "test_url" },
89
+ response: fixture_file('invalid_json.json')
90
+ )
91
+
92
+ expect { described_class.send(params) }.to raise_error Cloudsight::UnexpectedResponseException
93
+ end
84
94
  end
85
95
 
86
96
  describe '#repost' do
@@ -119,5 +129,15 @@ RSpec.describe Cloudsight::Request do
119
129
 
120
130
  expect { described_class.repost('sample_token', params) }.to raise_error Cloudsight::UnexpectedResponseException
121
131
  end
132
+
133
+ it 'responds correctly to an invalid JSON response' do
134
+ stub_post(
135
+ path: '/v1/images/sample_token/repost',
136
+ body: { "locale" => "en", "remote_image_url" => "test_url" },
137
+ response: fixture_file('invalid_json.json')
138
+ )
139
+
140
+ expect { described_class.repost('sample_token', params) }.to raise_error Cloudsight::UnexpectedResponseException
141
+ end
122
142
  end
123
143
  end
@@ -36,6 +36,15 @@ RSpec.describe Cloudsight::Response do
36
36
 
37
37
  expect { described_class.get('sample_token') }.to raise_error Cloudsight::UnexpectedResponseException
38
38
  end
39
+
40
+ it 'responds correctly to an invalid JSON response' do
41
+ stub_get(
42
+ path: '/v1/images/sample_token',
43
+ response: fixture_file('invalid_json.json')
44
+ )
45
+
46
+ expect { described_class.get('sample_token') }.to raise_error Cloudsight::UnexpectedResponseException
47
+ end
39
48
  end
40
49
 
41
50
  describe '#retrieve' do
@@ -60,6 +69,12 @@ RSpec.describe Cloudsight::Response do
60
69
 
61
70
  expect { described_class.retrieve('sample_token', poll_wait: 0.01) }.to raise_error Cloudsight::UnexpectedResponseException
62
71
  end
72
+
73
+ it 'responds correctly to an invalid JSON response' do
74
+ stub_polling(3, 'image_request.json', 'invalid_json.json', '/v1/images/sample_token')
75
+
76
+ expect { described_class.retrieve('sample_token', poll_wait: 0.01) }.to raise_error Cloudsight::UnexpectedResponseException
77
+ end
63
78
  end
64
79
  end
65
80
 
@@ -0,0 +1,9 @@
1
+ <html><head>
2
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
3
+ <title>502 Server Error</title>
4
+ </head>
5
+ <body text=#000000 bgcolor=#ffffff>
6
+ <h1>Error: Server Error</h1>
7
+ <h2>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.</h2>
8
+ <h2></h2>
9
+ </body></html>
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudsight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brad Folkens
8
8
  - Jack McCallum
9
9
  - Chris Weilemann
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-12-11 00:00:00.000000000 Z
13
+ date: 2020-09-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '1.6'
49
+ version: '2.0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '1.6'
56
+ version: '2.0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +134,7 @@ extra_rdoc_files: []
134
134
  files:
135
135
  - ".gitignore"
136
136
  - ".rspec"
137
+ - ".tool-versions"
137
138
  - ".travis.yml"
138
139
  - Gemfile
139
140
  - MIT-LICENSE
@@ -154,13 +155,14 @@ files:
154
155
  - spec/fixtures/completed_response.json
155
156
  - spec/fixtures/error_response.json
156
157
  - spec/fixtures/image_request.json
158
+ - spec/fixtures/invalid_json.json
157
159
  - spec/fixtures/unexpected_response.json
158
160
  - spec/spec_helper.rb
159
161
  homepage: http://github.com/cloudsight/cloudsight-ruby
160
162
  licenses:
161
163
  - MIT
162
164
  metadata: {}
163
- post_install_message:
165
+ post_install_message:
164
166
  rdoc_options: []
165
167
  require_paths:
166
168
  - lib
@@ -175,9 +177,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
177
  - !ruby/object:Gem::Version
176
178
  version: '0'
177
179
  requirements: []
178
- rubyforge_project:
179
- rubygems_version: 2.6.13
180
- signing_key:
180
+ rubygems_version: 3.1.2
181
+ signing_key:
181
182
  specification_version: 4
182
183
  summary: CloudSight API Client
183
184
  test_files:
@@ -188,5 +189,6 @@ test_files:
188
189
  - spec/fixtures/completed_response.json
189
190
  - spec/fixtures/error_response.json
190
191
  - spec/fixtures/image_request.json
192
+ - spec/fixtures/invalid_json.json
191
193
  - spec/fixtures/unexpected_response.json
192
194
  - spec/spec_helper.rb