airborne 0.2.9 → 0.2.10

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: 4e8b47a3d0439c6ae9f874c5f5abed3512058522
4
- data.tar.gz: b871b250885c448486b058af35c646ef3d65b059
3
+ metadata.gz: 76d1f2d5892782be324dedfac91cce34f4afe075
4
+ data.tar.gz: 30a16b7055de4ac3662454d05caacf645640cb0b
5
5
  SHA512:
6
- metadata.gz: 3987e2046b6b722ff05a05fcc0f551433d4c600082f984d5943347152d1935c460f9ee8aedc645389dfcf7b33dd056a32580e9b5bc653e1a944f88d18fac7ad4
7
- data.tar.gz: 15286269132b67edffb58fedde69ba0e2c82bb5537a0bfa0c37f7dd7af90fcf75945ec8fcc1208c1a6113ba410b2c5f5f60ea439bf005d4e4508ba24c45c9b97
6
+ metadata.gz: 530db301f9293ce05f59531e758d1f5da77a53e584f041d391c99866c917c192a188773b81dfc9505240ab03539eea51292e90a12445e760af48d4ac588ee3db
7
+ data.tar.gz: 96d100dfeb6c6a5086a1787acbfba797281d81d6b2b68bce4fea8a2665ed466b4e464a665d8f83ca779a1f813abcb44fb5afff8e8781f18495c90a4a1605c05d
data/.travis.yml CHANGED
@@ -3,6 +3,7 @@ language: ruby
3
3
  rvm:
4
4
  - 2.2.3
5
5
  - 2.3.1
6
+ - 2.4.1
6
7
 
7
8
  script: bundle exec rspec spec
8
9
  before_install:
data/README.md CHANGED
@@ -19,7 +19,7 @@ Or add it to your Gemfile:
19
19
  ```ruby
20
20
  gem 'airborne'
21
21
  ```
22
- ##Creating Tests
22
+ ## Creating Tests
23
23
 
24
24
  ```ruby
25
25
  require 'airborne'
@@ -107,7 +107,7 @@ describe 'sample spec' do
107
107
  end
108
108
  ```
109
109
 
110
- ##Making requests
110
+ ## Making requests
111
111
 
112
112
  Airborne uses `rest_client` to make the HTTP request, and supports all HTTP verbs. When creating a test, you can call any of the following methods: `get`, `post`, `put`, `patch`, `delete`, `head`, `options`. This will then give you access the following properties:
113
113
 
@@ -144,7 +144,7 @@ For requests that require Query params you can pass a params hash into headers.
144
144
  post 'http://example.com/api/v1/my_api', { }, { 'params' => {'param_key' => 'param_value' } }
145
145
  ```
146
146
 
147
- ##Testing Rack Applications
147
+ ## Testing Rack Applications
148
148
 
149
149
  If you have an existing Rack application like `sinatra` or `grape` you can run Airborne against your application and test without actually having a server running. To do that, just specify your rack application in your Airborne configuration:
150
150
 
@@ -156,7 +156,7 @@ end
156
156
 
157
157
  Under the covers, Airborne uses [rack-test](https://github.com/brynary/rack-test) to make the requests.
158
158
 
159
- ##Rails Applications
159
+ ## Rails Applications
160
160
 
161
161
  If you're testing an API you've written in Rails, Airborne plays along with `rspec-rails`:
162
162
 
@@ -174,7 +174,7 @@ RSpec.describe HomeController, :type => :controller do
174
174
  end
175
175
  ```
176
176
 
177
- ##API
177
+ ## API
178
178
 
179
179
  * `expect_json_types` - Tests the types of the JSON property values returned
180
180
  * `expect_json` - Tests the values of the JSON property values returned
@@ -184,7 +184,7 @@ end
184
184
  * `expect_header` - Tests for a specified header in the response
185
185
  * `expect_header_contains` - Partial match test on a specified header
186
186
 
187
- ##Path Matching
187
+ ## Path Matching
188
188
 
189
189
  When calling `expect_json_types`, `expect_json`, `expect_json_keys` or `expect_json_sizes` you can optionally specify a path as a first parameter.
190
190
 
@@ -309,7 +309,8 @@ it 'should check all nested arrays for specified elements' do
309
309
  end
310
310
  ```
311
311
 
312
- ##Dates
312
+ ## Dates
313
+
313
314
  JSON has no support for dates, however airborne gives you the ability to check for dates using the following. For `expect_json_types` you would use it as you would for any of the other types:
314
315
 
315
316
  ```ruby
@@ -330,7 +331,7 @@ it 'should verify correct date value' do
330
331
  end
331
332
  ```
332
333
 
333
- ##Configuration
334
+ ## Configuration
334
335
 
335
336
  When setting up Airborne, you can call `configure` just like you would with `rspec`:
336
337
 
data/airborne.gemspec CHANGED
@@ -2,7 +2,7 @@ require 'date'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'airborne'
5
- s.version = '0.2.9'
5
+ s.version = '0.2.10'
6
6
  s.date = Date.today.to_s
7
7
  s.summary = 'RSpec driven API testing framework'
8
8
  s.authors = ['Alex Friedman', 'Seth Pollack']
@@ -231,17 +231,17 @@ module Airborne
231
231
  end
232
232
 
233
233
  def property?(expectations)
234
- [String, Regexp, Float, Fixnum, Bignum, TrueClass, FalseClass, NilClass, Array].include?(expectations.class)
234
+ [String, Regexp, Float, *integer_types, TrueClass, FalseClass, NilClass, Array].include?(expectations.class)
235
235
  end
236
236
 
237
237
  def get_mapper
238
238
  base_mapper = {
239
- integer: [Fixnum, Bignum],
240
- array_of_integers: [Fixnum, Bignum],
241
- int: [Fixnum, Bignum],
242
- array_of_ints: [Fixnum, Bignum],
243
- float: [Float, Fixnum, Bignum],
244
- array_of_floats: [Float, Fixnum, Bignum],
239
+ integer: integer_types,
240
+ array_of_integers: integer_types,
241
+ int: integer_types,
242
+ array_of_ints: integer_types,
243
+ float: [Float, *integer_types],
244
+ array_of_floats: [Float, *integer_types],
245
245
  string: [String],
246
246
  array_of_strings: [String],
247
247
  boolean: [TrueClass, FalseClass],
@@ -283,5 +283,13 @@ module Airborne
283
283
  def match_expected?
284
284
  Airborne.configuration.match_expected?
285
285
  end
286
+
287
+ def integer_types
288
+ if 0.class == Integer
289
+ [Integer]
290
+ else
291
+ [Fixnum, Bignum]
292
+ end
293
+ end
286
294
  end
287
295
  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.2.9
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Friedman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-27 00:00:00.000000000 Z
12
+ date: 2017-04-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec