airborne 0.2.9 → 0.2.10

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