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 +4 -4
- data/airborne.gemspec +2 -2
- data/lib/airborne/base.rb +2 -1
- data/lib/airborne/request_expectations.rb +0 -5
- data/spec/airborne/base_spec.rb +7 -6
- data/spec/airborne/head_spec.rb +0 -1
- data/spec/test_responses/invalid_json.json +1 -0
- metadata +26 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c7bde2a0ccea50067ac3b6ab6b6617740635723
|
4
|
+
data.tar.gz: e571199b5670fc0fa9a3546bcd1beacbce558a1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6e80018eaa3dd6c7ec967e178e56152011bf1c6e16f4a817c8259cea6fdd03ebda738c26b2a0d48a110e05025374b4aebe3bba14521b7ccb08ee6ded500f169
|
7
|
+
data.tar.gz: 3015da91709bf605a169efbef8032841ef6470e40918c9cc9f24db5d8f1a3f8f080ba40e44d8fcb0f5578feb7cbcfa502ea8ccb5e090b6041d08f330c2ab2c93
|
data/airborne.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'airborne'
|
3
|
-
s.version = '0.1.
|
4
|
-
s.date = '2015-
|
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']
|
data/lib/airborne/base.rb
CHANGED
@@ -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
|
data/spec/airborne/base_spec.rb
CHANGED
@@ -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'
|
data/spec/airborne/head_spec.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
1234
|
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.
|
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-
|
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
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
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.
|
187
|
+
rubygems_version: 2.4.1
|
187
188
|
signing_key:
|
188
189
|
specification_version: 4
|
189
190
|
summary: RSpec driven API testing framework
|