airborne 0.2.5 → 0.2.6

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: 67b6c4aa3a5074c42780d4b4bb30797974f34a29
4
- data.tar.gz: 861430f53bbd74076c161d4f6a0fa3e392b143e4
3
+ metadata.gz: 2a6aad7b42c7686c2a004890329560447394199c
4
+ data.tar.gz: 2130927bdef994ab120c107db557362c549b5e38
5
5
  SHA512:
6
- metadata.gz: f9fc7bdf5b0da1a85f9c6a72692b2b5966bebfcadbfeb647f3fe256e63656bd5c7ef24033ac5b6299305af8625b630c5a4d686a021e9ba964d0cd9d7319b8560
7
- data.tar.gz: a08ff15e1f22d82cca5c7685ea4114c8c6399c7c6742f6b8d1740e3662fd314e47ba3c32fb7a6caa778f1f262736b748d65fa410a24e1bf401a9c364fd65c33f
6
+ metadata.gz: 98e0e2598548f8f2714320fc8b0ed004397ed1d7c7e49a5d324b01782b4bbf416a98021dc6fb0176d1a8f44109b9918f0ea382ec276a7f6414d3e9eb93bb59d2
7
+ data.tar.gz: 4c3abbeb2722b62e016f4836d488675cbcf5f237543c83244e629aaac765ad1a9bbbb61490342655bbdb02a7a29787699cb25230f60d96e19998448b921eb1ea
@@ -5,9 +5,10 @@ rvm:
5
5
  - 2.1.0
6
6
  - 2.1.7
7
7
  - 2.2.3
8
-
8
+ - 2.3.1
9
9
 
10
10
  script: bundle exec rspec spec
11
11
  before_install:
12
12
  - gem update --system
13
13
  - gem --version
14
+ - gem install bundler
data/Gemfile CHANGED
@@ -1,9 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rspec'
4
- gem 'rest-client'
5
- gem 'rack-test'
6
- gem 'activesupport'
3
+ gemspec
4
+
7
5
  gem 'coveralls', require: false
8
6
 
9
7
  group :test do
data/README.md CHANGED
@@ -141,7 +141,7 @@ post 'http://example.com/api/v1/my_api', { :name => 'John Doe' }, { 'x-auth-toke
141
141
  For requests that require Query params you can pass a params hash into headers.
142
142
 
143
143
  ```ruby
144
- post 'http://example.com/api/v1/my_api', { }, { 'params' => {'param_key' => 'param_value' }
144
+ post 'http://example.com/api/v1/my_api', { }, { 'params' => {'param_key' => 'param_value' } }
145
145
  ```
146
146
 
147
147
  ##Testing Rack Applications
@@ -366,6 +366,17 @@ Airborne.configure do |config|
366
366
  end
367
367
  ```
368
368
 
369
+ `match_expected_default` requires all the keys in the expected JSON are present in the response.
370
+ `match_actual_default` requires that the keys in the response are tested in the expected Hash.
371
+
372
+ So you can do the following combinations:
373
+
374
+ `match_expected_default=false`, `match_actual_default=false` - check only intersection
375
+ `match_expected_default=false`, `match_actual_default=true` - raise on extra key in response
376
+ `match_expected_default=true`, `match_actual_default=false` - raise on missing key in response
377
+ `match_expected_default=true`, `match_actual_default=true` - expect exact match
378
+
379
+
369
380
  Airborne sets `match_expected_default` to `true` and `match_actual_default` to `false` by default.
370
381
 
371
382
  You can use the `match_expected` and `match_actual` settings to override your global defaults in test blocks like this.
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'airborne'
3
- s.version = '0.2.5'
3
+ s.version = '0.2.6'
4
4
  s.date = Date.today.to_s
5
5
  s.summary = 'RSpec driven API testing framework'
6
6
  s.authors = ['Alex Friedman', 'Seth Pollack']
@@ -8,9 +8,10 @@ Gem::Specification.new do |s|
8
8
  s.require_paths = ['lib']
9
9
  s.files = `git ls-files`.split("\n")
10
10
  s.license = 'MIT'
11
- s.add_runtime_dependency 'rspec', '~> 3.1', '>= 3.1.0'
12
- s.add_runtime_dependency 'rest-client', '~> 1.7', '>= 1.7.3' # version 1.7.3 fixes security vulnerability https://github.com/brooklynDev/airborne/issues/41
11
+ s.add_runtime_dependency 'rspec', '~> 3.1'
12
+ s.add_runtime_dependency 'rest-client', '< 3.0', '>= 1.7.3'
13
13
  s.add_runtime_dependency 'rack-test', '~> 0.6', '>= 0.6.2'
14
- s.add_runtime_dependency 'activesupport', '>= 3.0.0', '>= 3.0.0'
14
+ s.add_runtime_dependency 'rack', '< 2.0' # for Ruby < 2.2
15
+ s.add_runtime_dependency 'activesupport', '< 5.0', '>= 3.0'
15
16
  s.add_development_dependency 'webmock', '~> 0'
16
17
  end
@@ -16,7 +16,7 @@ describe 'base spec' do
16
16
  it 'should throw an InvalidJsonError when accessing json_body on invalid json' do
17
17
  mock_get('invalid_json')
18
18
  get '/invalid_json'
19
- expect(body).to eq('1234')
19
+ expect(body).to eq('invalid1234')
20
20
  expect { json_body }.to raise_error(InvalidJsonError)
21
21
  end
22
22
 
@@ -1 +1 @@
1
- 1234
1
+ invalid1234
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.5
4
+ version: 0.2.6
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: 2016-04-12 00:00:00.000000000 Z
12
+ date: 2016-08-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -18,9 +18,6 @@ dependencies:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.1'
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 3.1.0
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,16 +25,13 @@ dependencies:
28
25
  - - "~>"
29
26
  - !ruby/object:Gem::Version
30
27
  version: '3.1'
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.1.0
34
28
  - !ruby/object:Gem::Dependency
35
29
  name: rest-client
36
30
  requirement: !ruby/object:Gem::Requirement
37
31
  requirements:
38
- - - "~>"
32
+ - - "<"
39
33
  - !ruby/object:Gem::Version
40
- version: '1.7'
34
+ version: '3.0'
41
35
  - - ">="
42
36
  - !ruby/object:Gem::Version
43
37
  version: 1.7.3
@@ -45,9 +39,9 @@ dependencies:
45
39
  prerelease: false
46
40
  version_requirements: !ruby/object:Gem::Requirement
47
41
  requirements:
48
- - - "~>"
42
+ - - "<"
49
43
  - !ruby/object:Gem::Version
50
- version: '1.7'
44
+ version: '3.0'
51
45
  - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: 1.7.3
@@ -71,20 +65,40 @@ dependencies:
71
65
  - - ">="
72
66
  - !ruby/object:Gem::Version
73
67
  version: 0.6.2
68
+ - !ruby/object:Gem::Dependency
69
+ name: rack
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.0'
74
82
  - !ruby/object:Gem::Dependency
75
83
  name: activesupport
76
84
  requirement: !ruby/object:Gem::Requirement
77
85
  requirements:
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '5.0'
78
89
  - - ">="
79
90
  - !ruby/object:Gem::Version
80
- version: 3.0.0
91
+ version: '3.0'
81
92
  type: :runtime
82
93
  prerelease: false
83
94
  version_requirements: !ruby/object:Gem::Requirement
84
95
  requirements:
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '5.0'
85
99
  - - ">="
86
100
  - !ruby/object:Gem::Version
87
- version: 3.0.0
101
+ version: '3.0'
88
102
  - !ruby/object:Gem::Dependency
89
103
  name: webmock
90
104
  requirement: !ruby/object:Gem::Requirement