airborne 0.1.12 → 0.1.13

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