cloudsight 0.1.0 → 0.1.1

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 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