airborne 0.1.12 → 0.1.13

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
2
  SHA1:
3
- metadata.gz: dd09f18a54b952fe79859870e2dcc41e730b3ced
4
- data.tar.gz: dfb9931317cc0d4a1203aa74fcf13ec3c8ca3642
3
+ metadata.gz: 9c7bde2a0ccea50067ac3b6ab6b6617740635723
4
+ data.tar.gz: e571199b5670fc0fa9a3546bcd1beacbce558a1b
5
5
  SHA512:
6
- metadata.gz: 802fc7d6f03cdba23dbe2bb5526130a6af730b303b778c61111194d20b77f89ecbc725042a827594ac3518e9028d3d30a7180db24031904c2654cd39a91cab7d
7
- data.tar.gz: 06a7392ddedf4a48fa7631958914878d54b18e7277591aa75cf4dfc32193fb157669cad93f0818928d7fef2ad9b51772fd3ab583bc14a4afe1850da993146921
6
+ metadata.gz: c6e80018eaa3dd6c7ec967e178e56152011bf1c6e16f4a817c8259cea6fdd03ebda738c26b2a0d48a110e05025374b4aebe3bba14521b7ccb08ee6ded500f169
7
+ data.tar.gz: 3015da91709bf605a169efbef8032841ef6470e40918c9cc9f24db5d8f1a3f8f080ba40e44d8fcb0f5578feb7cbcfa502ea8ccb5e090b6041d08f330c2ab2c93
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'airborne'
3
- s.version = '0.1.12'
4
- s.date = '2015-02-28'
3
+ s.version = '0.1.13'
4
+ s.date = '2015-03-01'
5
5
  s.summary = "RSpec driven API testing framework"
6
6
  s.authors = ["Alex Friedman", "Seth Pollack"]
7
7
  s.email = ['a.friedman07@gmail.com', 'teampollack@gmail.com']
@@ -2,8 +2,8 @@ require 'json'
2
2
  require 'active_support/hash_with_indifferent_access'
3
3
 
4
4
  module Airborne
5
+ class InvalidJsonError < StandardError; end
5
6
  include RequestExpectations
6
-
7
7
  def self.configure
8
8
  RSpec.configure do |config|
9
9
  yield config
@@ -65,6 +65,7 @@ module Airborne
65
65
  end
66
66
 
67
67
  def json_body
68
+ raise InvalidJsonError, "Api request returned invalid json" unless @json_body
68
69
  @json_body
69
70
  end
70
71
 
@@ -201,9 +201,6 @@ module Airborne
201
201
  end
202
202
  end
203
203
 
204
- # Convert integers in `old_expectations` to proc
205
- #
206
- # @param old_expectations [Hash]
207
204
  def convert_expectations_for_json_sizes(old_expectations)
208
205
  unless old_expectations.is_a?(Hash)
209
206
  return convert_expectation_for_json_sizes(old_expectations)
@@ -219,8 +216,6 @@ module Airborne
219
216
  end
220
217
  end
221
218
 
222
- # @param expected_size [Integer]
223
- # @return [Proc]
224
219
  def convert_expectation_for_json_sizes(expected_size)
225
220
  ->(data) { expect(data.size).to eq(expected_size) }
226
221
  end
@@ -13,6 +13,13 @@ describe 'base spec' do
13
13
  expect(headers).to_not be(nil)
14
14
  end
15
15
 
16
+ it 'should throw an InvalidJsonError when accessing json_body on invalid json' do
17
+ mock_get('invalid_json')
18
+ get '/invalid_json'
19
+ expect(body).to eq("1234")
20
+ expect{json_body}.to raise_error
21
+ end
22
+
16
23
  it 'when request is made headers should be hash with indifferent access' do
17
24
  mock_get('simple_get', {'Content-Type' => 'application/json'})
18
25
  get '/simple_get'
@@ -34,12 +41,6 @@ describe 'base spec' do
34
41
  expect(json_body.first[0]).to be_kind_of(Symbol)
35
42
  end
36
43
 
37
- it 'should set json_body to nil on invalid json' do
38
- mock_get('invalid_get')
39
- get '/invalid_get'
40
- expect(json_body).to be(nil)
41
- end
42
-
43
44
  it 'should handle a 500 error on get' do
44
45
  mock_get('simple_get', {}, [500, "Internal Server Error"])
45
46
  get '/simple_get'
@@ -6,6 +6,5 @@ describe 'head' do
6
6
  head '/simple_head', {}
7
7
  expect_status(200)
8
8
  expect_header('foo', 'foo')
9
- expect(json_body).to be(nil)
10
9
  end
11
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airborne
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Friedman
@@ -9,94 +9,94 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-28 00:00:00.000000000 Z
12
+ date: 2015-03-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.1'
21
- - - ">="
21
+ - - '>='
22
22
  - !ruby/object:Gem::Version
23
23
  version: 3.1.0
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - "~>"
28
+ - - ~>
29
29
  - !ruby/object:Gem::Version
30
30
  version: '3.1'
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: 3.1.0
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rest-client
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.7'
41
- - - ">="
41
+ - - '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.7.2
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - "~>"
48
+ - - ~>
49
49
  - !ruby/object:Gem::Version
50
50
  version: '1.7'
51
- - - ">="
51
+ - - '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.7.2
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: rack-test
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ~>
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.6'
61
- - - ">="
61
+ - - '>='
62
62
  - !ruby/object:Gem::Version
63
63
  version: 0.6.2
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - ~>
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0.6'
71
- - - ">="
71
+ - - '>='
72
72
  - !ruby/object:Gem::Version
73
73
  version: 0.6.2
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: activesupport
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ">="
78
+ - - '>='
79
79
  - !ruby/object:Gem::Version
80
80
  version: 3.0.0
81
81
  type: :runtime
82
82
  prerelease: false
83
83
  version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ">="
85
+ - - '>='
86
86
  - !ruby/object:Gem::Version
87
87
  version: 3.0.0
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: webmock
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "~>"
92
+ - - ~>
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  type: :development
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "~>"
99
+ - - ~>
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  description:
@@ -107,10 +107,10 @@ executables: []
107
107
  extensions: []
108
108
  extra_rdoc_files: []
109
109
  files:
110
- - ".coveralls.yml"
111
- - ".gitignore"
112
- - ".rspec"
113
- - ".travis.yml"
110
+ - .coveralls.yml
111
+ - .gitignore
112
+ - .rspec
113
+ - .travis.yml
114
114
  - Gemfile
115
115
  - LICENSE
116
116
  - README.md
@@ -155,6 +155,7 @@ files:
155
155
  - spec/test_responses/array_with_nested_bad_data.json
156
156
  - spec/test_responses/date_response.json
157
157
  - spec/test_responses/invalid_get.json
158
+ - spec/test_responses/invalid_json.json
158
159
  - spec/test_responses/numeric_property.json
159
160
  - spec/test_responses/simple_get.json
160
161
  - spec/test_responses/simple_json.json
@@ -173,17 +174,17 @@ require_paths:
173
174
  - lib
174
175
  required_ruby_version: !ruby/object:Gem::Requirement
175
176
  requirements:
176
- - - ">="
177
+ - - '>='
177
178
  - !ruby/object:Gem::Version
178
179
  version: '0'
179
180
  required_rubygems_version: !ruby/object:Gem::Requirement
180
181
  requirements:
181
- - - ">="
182
+ - - '>='
182
183
  - !ruby/object:Gem::Version
183
184
  version: '0'
184
185
  requirements: []
185
186
  rubyforge_project:
186
- rubygems_version: 2.2.0
187
+ rubygems_version: 2.4.1
187
188
  signing_key:
188
189
  specification_version: 4
189
190
  summary: RSpec driven API testing framework