rest-assured 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +4 -0
  3. data/README.markdown +12 -19
  4. data/db/development.db +0 -0
  5. data/db/test.db +0 -0
  6. data/features/ruby_api/test_server.feature +4 -4
  7. data/features/step_definitions/command_line_options_steps.rb +1 -1
  8. data/features/step_definitions/doubles_steps.rb +1 -1
  9. data/features/support/env.rb +3 -3
  10. data/features/support/world_helpers.rb +2 -8
  11. data/lib/rest-assured/api/app_session.rb +6 -1
  12. data/lib/rest-assured/api/server.rb +2 -14
  13. data/lib/rest-assured/config.rb +10 -3
  14. data/lib/rest-assured/models/double.rb +0 -2
  15. data/lib/rest-assured/models/redirect.rb +1 -3
  16. data/lib/rest-assured/routes/double.rb +2 -2
  17. data/lib/rest-assured/version.rb +1 -1
  18. data/spec/api/app_session_spec.rb +11 -5
  19. data/spec/api/resource_double_spec.rb +14 -13
  20. data/spec/api/server_spec.rb +38 -43
  21. data/spec/config_spec.rb +3 -3
  22. data/spec/functional/double_routes_spec.rb +53 -53
  23. data/spec/functional/redirect_routes_spec.rb +27 -27
  24. data/spec/functional/response_spec.rb +18 -18
  25. data/spec/models/double_spec.rb +22 -27
  26. data/spec/models/redirect_spec.rb +12 -15
  27. data/spec/models/request_spec.rb +4 -4
  28. data/spec/port_explorer_spec.rb +3 -3
  29. data/spec/spec_helper.rb +30 -22
  30. metadata +24 -37
  31. data/.gitignore +0 -9
  32. data/.rspec +0 -1
  33. data/.travis.yml +0 -15
  34. data/Gemfile +0 -36
  35. data/Gemfile.lock +0 -176
  36. data/Guardfile +0 -10
  37. data/Procfile +0 -1
  38. data/Rakefile +0 -2
  39. data/bin/console +0 -11
  40. data/bin/heroku_runner +0 -27
  41. data/cucumber.yml +0 -3
  42. data/features/support/test-server.rb +0 -35
  43. data/rest-assured.gemspec +0 -31
@@ -12,35 +12,30 @@ module RestAssured::Models
12
12
  }
13
13
  end
14
14
 
15
- it { should validate_presence_of(:fullpath) }
16
- it { should validate_inclusion_of(:verb, Double::VERBS) }
17
- it { should validate_inclusion_of(:status, Double::STATUSES) }
18
- it { should allow_mass_assignment_of(:fullpath) }
19
- it { should allow_mass_assignment_of(:content) }
20
- it { should allow_mass_assignment_of(:verb) }
21
- it { should allow_mass_assignment_of(:status) }
22
- it { should allow_mass_assignment_of(:response_headers) }
15
+ it { is_expected.to validate_presence_of(:fullpath) }
16
+ it { is_expected.to validate_inclusion_of(:verb).in_array Double::VERBS }
17
+ it { is_expected.to validate_inclusion_of(:status).in_array Double::STATUSES }
23
18
 
24
- it { should have_many(:requests) }
19
+ it { is_expected.to have_many(:requests) }
25
20
 
26
21
  it 'creates double with valid params' do
27
22
  d = Double.new valid_params
28
- d.should be_valid
23
+ expect(d).to be_valid
29
24
  end
30
25
 
31
26
  it "defaults verb to GET" do
32
27
  f = Double.create valid_params.except(:verb)
33
- f.verb.should == 'GET'
28
+ expect(f.verb).to eq('GET')
34
29
  end
35
30
 
36
31
  it "defaults status to 200" do
37
32
  f = Double.create valid_params.except(:status)
38
- f.status.should == 200
33
+ expect(f.status).to eq(200)
39
34
  end
40
35
 
41
36
  it "makes double active by default" do
42
37
  f = Double.create valid_params.except(:active)
43
- f.active.should be true
38
+ expect(f.active).to be true
44
39
  end
45
40
 
46
41
  describe 'when created' do
@@ -50,10 +45,10 @@ module RestAssured::Models
50
45
  f3 = Double.create valid_params.merge(:fullpath => '/some/other/api')
51
46
  f4 = Double.create valid_params.merge(:verb => 'POST')
52
47
 
53
- f1.reload.active.should be false
54
- f2.reload.active.should be true
55
- f3.reload.active.should be true
56
- f4.reload.active.should be true
48
+ expect(f1.reload.active).to be false
49
+ expect(f2.reload.active).to be true
50
+ expect(f3.reload.active).to be true
51
+ expect(f4.reload.active).to be true
57
52
  end
58
53
  end
59
54
 
@@ -67,9 +62,9 @@ module RestAssured::Models
67
62
  f1.active = true
68
63
  f1.save
69
64
 
70
- f2.reload.active.should be false
71
- f3.reload.active.should be true
72
- f4.reload.active.should be true
65
+ expect(f2.reload.active).to be false
66
+ expect(f3.reload.active).to be true
67
+ expect(f4.reload.active).to be true
73
68
  end
74
69
 
75
70
  it "makes other doubles inactive only when active bit set to true" do
@@ -81,17 +76,17 @@ module RestAssured::Models
81
76
  f1.reload.save
82
77
  f2.reload.save
83
78
 
84
- f1.reload.active.should be false
85
- f2.reload.active.should be true
86
- f3.reload.active.should be true
87
- f4.reload.active.should be true
79
+ expect(f1.reload.active).to be false
80
+ expect(f2.reload.active).to be true
81
+ expect(f3.reload.active).to be true
82
+ expect(f4.reload.active).to be true
88
83
  end
89
84
 
90
85
  it "handles long paths (more than 255 characters)" do
91
86
  long_path = 'a' * 260
92
87
  f1 = Double.create valid_params.merge(:fullpath => long_path)
93
88
  f1.reload.save
94
- f1.reload.fullpath.should == long_path
89
+ expect(f1.reload.fullpath).to eq(long_path)
95
90
  end
96
91
  end
97
92
 
@@ -103,8 +98,8 @@ module RestAssured::Models
103
98
  f3 = Double.create valid_params.merge(:fullpath => '/some/other/api')
104
99
 
105
100
  f2.destroy
106
- f1.reload.active.should be true
107
- f3.reload.active.should be true
101
+ expect(f1.reload.active).to be true
102
+ expect(f3.reload.active).to be true
108
103
  end
109
104
  end
110
105
  end
@@ -7,56 +7,53 @@ module RestAssured::Models
7
7
  #Redirect.create :pattern => 'sdfsdf', :to => 'sdfsffdf'
8
8
  #end
9
9
 
10
- it { should validate_presence_of(:pattern) }
11
- it { should validate_presence_of(:to) }
12
- it { should allow_mass_assignment_of(:pattern) }
13
- it { should allow_mass_assignment_of(:to) }
14
- it { should allow_mass_assignment_of(:position) }
10
+ it { is_expected.to validate_presence_of(:pattern) }
11
+ it { is_expected.to validate_presence_of(:to) }
15
12
 
16
13
  it 'assigns incremental position on create' do
17
14
  r1 = Redirect.create :pattern => '.*', :to => 'someurl'
18
- r1.position.should == 0
15
+ expect(r1.position).to eq(0)
19
16
 
20
17
  r2 = Redirect.create :pattern => '.*', :to => 'someurl'
21
- r2.position.should == 1
18
+ expect(r2.position).to eq(1)
22
19
 
23
20
  r2.position = 4
24
21
  r2.save
25
22
 
26
23
  r3 = Redirect.create :pattern => '.*', :to => 'someurl'
27
- r3.position.should == 5
24
+ expect(r3.position).to eq(5)
28
25
  end
29
26
 
30
27
  it 'updates order (with which redirects picked up for matching request)' do
31
28
  r1 = Redirect.create :pattern => '.*', :to => 'somewhere', :position => 0
32
29
  r2 = Redirect.create :pattern => '.*', :to => 'somewhere', :position => 1
33
30
 
34
- Redirect.update_order([r2.id, r1.id]).should be true
35
- r1.reload.position.should == 1
36
- r2.reload.position.should == 0
31
+ expect(Redirect.update_order([r2.id, r1.id])).to be true
32
+ expect(r1.reload.position).to eq(1)
33
+ expect(r2.reload.position).to eq(0)
37
34
 
38
- Redirect.update_order([nil, 34]).should == false
35
+ expect(Redirect.update_order([nil, 34])).to eq(false)
39
36
  end
40
37
 
41
38
  context 'redirect url' do
42
39
  it 'constructs url to redirect to' do
43
40
  path = rand(1000)
44
41
  r = Redirect.create :pattern => '/api/(.*)\?.*', :to => 'http://external.com/some/url/\1?p=5'
45
- Redirect.find_redirect_url_for("/api/#{path}?param=1").should == "http://external.com/some/url/#{path}?p=5"
42
+ expect(Redirect.find_redirect_url_for("/api/#{path}?param=1")).to eq("http://external.com/some/url/#{path}?p=5")
46
43
  end
47
44
 
48
45
  it 'returns the one that matches the substring' do
49
46
  r1 = Redirect.create :pattern => '/ai/path', :to => 'someurl'
50
47
  r2 = Redirect.create :pattern => '/api/path', :to => 'someurl'
51
48
 
52
- Redirect.find_redirect_url_for('/api/path').should == 'someurl'
49
+ expect(Redirect.find_redirect_url_for('/api/path')).to eq('someurl')
53
50
  end
54
51
 
55
52
  it 'returns the oldest one that match' do
56
53
  r1 = Redirect.create :pattern => '/api', :to => 'someurl'
57
54
  r2 = Redirect.create :pattern => '/api/path', :to => 'otherurl'
58
55
 
59
- Redirect.find_redirect_url_for('/api/path').should == 'someurl/path'
56
+ expect(Redirect.find_redirect_url_for('/api/path')).to eq('someurl/path')
60
57
  end
61
58
  end
62
59
  end
@@ -2,15 +2,15 @@ require File.expand_path('../../spec_helper', __FILE__)
2
2
 
3
3
  module RestAssured::Models
4
4
  describe Request do
5
- it { should belong_to(:double) }
6
- it { should validate_presence_of(:rack_env) }
5
+ it { is_expected.to belong_to(:double) }
6
+ it { is_expected.to validate_presence_of(:rack_env) }
7
7
 
8
8
  it 'knows when it has been created' do
9
9
  now = Time.now
10
- Time.stub(:now).and_return(now)
10
+ allow(Time).to receive(:now).and_return(now)
11
11
  r = Request.create(:body => 'sdfsd', :rack_env => 'headers')
12
12
 
13
- r.created_at.should == now
13
+ expect(r.created_at).to eq(now)
14
14
  end
15
15
  end
16
16
  end
@@ -5,7 +5,7 @@ module RestAssured::Utils
5
5
  describe PortExplorer do
6
6
  it 'finds free tcp port' do
7
7
  free_port = PortExplorer.free_port
8
- lambda { Net::HTTP.get('127.0.0.1', '/', free_port) }.should raise_error(Errno::ECONNREFUSED)
8
+ expect { Net::HTTP.get('127.0.0.1', '/', free_port) }.to raise_error(Errno::ECONNREFUSED)
9
9
  end
10
10
 
11
11
  it 'knows if port is in use' do
@@ -20,13 +20,13 @@ module RestAssured::Utils
20
20
  end
21
21
  sleep 0.5
22
22
 
23
- PortExplorer.port_free?(port).should == false
23
+ expect(PortExplorer.port_free?(port)).to eq(false)
24
24
  end
25
25
 
26
26
  it 'knows that port is free' do
27
27
  port = PortExplorer.free_port
28
28
 
29
- PortExplorer.port_free?(port).should == true
29
+ expect(PortExplorer.port_free?(port)).to eq(true)
30
30
  end
31
31
  end
32
32
  end
@@ -1,3 +1,5 @@
1
+ ENV['RACK_ENV'] = 'test'
2
+
1
3
  if ENV['COVERAGE']
2
4
  begin
3
5
  require 'simplecov'
@@ -15,13 +17,26 @@ $:.unshift(File.expand_path('../../lib'), __FILE__)
15
17
  require 'rspec'
16
18
  require 'capybara/rspec'
17
19
  require 'rack/test'
18
- require 'database_cleaner'
19
20
  require 'awesome_print'
21
+ require 'rest-assured/config'
22
+
23
+ DB_OPTS = { :adapter => 'postgresql' }
24
+ RestAssured::Config.build(DB_OPTS)
25
+
26
+ require 'rest-assured'
27
+ require 'rest-assured/application'
28
+ require 'shoulda/matchers'
29
+
30
+ Capybara.app = RestAssured::Application
31
+
32
+ def app
33
+ RestAssured::Application
34
+ end
35
+
36
+ require 'database_cleaner'
20
37
  require File.expand_path('../support/custom_matchers', __FILE__)
21
38
  require File.expand_path('../support/reset-singleton', __FILE__)
22
39
 
23
- ENV['RACK_ENV'] = 'test'
24
-
25
40
  module XhrHelpers
26
41
  def xhr(path, params = {})
27
42
  verb = params.delete(:as) || :get
@@ -35,12 +50,20 @@ RSpec.configure do |c|
35
50
  c.include Rack::Test::Methods
36
51
  c.include XhrHelpers
37
52
 
38
- c.before(:each) do
39
- DatabaseCleaner.start
53
+ c.before(:suite) do
54
+ DatabaseCleaner.strategy = :truncation
55
+ DatabaseCleaner.clean_with(:truncation)
40
56
  end
41
57
 
42
- c.after(:each) do
43
- DatabaseCleaner.clean
58
+ c.around(:each) do |example|
59
+ begin
60
+ DatabaseCleaner.cleaning do
61
+ example.run
62
+ end
63
+ rescue ActiveRecord::StatementInvalid
64
+ ActiveRecord::Base.connection.reconnect!
65
+ DatabaseCleaner.clean_with :truncation
66
+ end
44
67
  end
45
68
 
46
69
  c.before(:each, :ui => true) do
@@ -57,18 +80,3 @@ RSpec.configure do |c|
57
80
  end
58
81
  end
59
82
  end
60
- require 'rest-assured/config'
61
- DB_OPTS = { :adapter => 'mysql' }
62
- RestAssured::Config.build(DB_OPTS)
63
-
64
- require 'rest-assured'
65
- require 'rest-assured/application'
66
- require 'shoulda-matchers'
67
-
68
- Capybara.app = RestAssured::Application
69
-
70
- def app
71
- RestAssured::Application
72
- end
73
-
74
- DatabaseCleaner.strategy = :truncation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-assured
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Avetisyan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-01 00:00:00.000000000 Z
11
+ date: 2015-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: '4.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '4.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: activeresource
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.0'
89
+ version: '4.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.0'
96
+ version: '4.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: thin
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -116,21 +116,11 @@ executables:
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
- - ".gitignore"
120
- - ".rspec"
121
- - ".travis.yml"
122
119
  - CHANGELOG
123
- - Gemfile
124
- - Gemfile.lock
125
- - Guardfile
126
120
  - LICENSE
127
- - Procfile
128
121
  - README.markdown
129
- - Rakefile
130
- - bin/console
131
- - bin/heroku_runner
132
122
  - bin/rest-assured
133
- - cucumber.yml
123
+ - db/development.db
134
124
  - db/migrate/20110620161740_add_fixtures.rb
135
125
  - db/migrate/20110625155332_add_redirects_table.rb
136
126
  - db/migrate/20110709150645_add_description_to_fixtures.rb
@@ -144,6 +134,7 @@ files:
144
134
  - db/migrate/20111021113953_add_status_to_doubles.rb
145
135
  - db/migrate/20111208155906_add_response_headers_to_doubles.rb
146
136
  - db/migrate/20120320200820_change_fullpath_to_text.rb
137
+ - db/test.db
147
138
  - features/command_line_options.feature
148
139
  - features/rest_api/doubles.feature
149
140
  - features/rest_api/redirects.feature
@@ -159,7 +150,6 @@ files:
159
150
  - features/step_definitions/ruby_api_steps.rb
160
151
  - features/step_definitions/support/numeric_transforms.rb
161
152
  - features/support/env.rb
162
- - features/support/test-server.rb
163
153
  - features/support/world_helpers.rb
164
154
  - features/web_ui/doubles.feature
165
155
  - features/web_ui/redirects.feature
@@ -196,7 +186,6 @@ files:
196
186
  - public/javascript/application.js
197
187
  - public/javascript/jquery.jgrowl_minimized.js
198
188
  - public/javascript/jquery.simulate.drag-sortable.js
199
- - rest-assured.gemspec
200
189
  - spec/api/app_session_spec.rb
201
190
  - spec/api/resource_double_spec.rb
202
191
  - spec/api/server_spec.rb
@@ -233,7 +222,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
222
  requirements:
234
223
  - - ">="
235
224
  - !ruby/object:Gem::Version
236
- version: 1.8.7
225
+ version: 1.9.3
237
226
  required_rubygems_version: !ruby/object:Gem::Requirement
238
227
  requirements:
239
228
  - - ">="
@@ -241,11 +230,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
230
  version: '0'
242
231
  requirements: []
243
232
  rubyforge_project: rest-assured
244
- rubygems_version: 2.2.0
233
+ rubygems_version: 2.4.5
245
234
  signing_key:
246
235
  specification_version: 4
247
236
  summary: Real stubs and spies for HTTP(S) services
248
237
  test_files:
238
+ - spec/api/app_session_spec.rb
239
+ - spec/api/resource_double_spec.rb
240
+ - spec/api/server_spec.rb
241
+ - spec/config_spec.rb
242
+ - spec/functional/double_routes_spec.rb
243
+ - spec/functional/redirect_routes_spec.rb
244
+ - spec/functional/response_spec.rb
245
+ - spec/models/double_spec.rb
246
+ - spec/models/redirect_spec.rb
247
+ - spec/models/request_spec.rb
248
+ - spec/port_explorer_spec.rb
249
+ - spec/spec_helper.rb
250
+ - spec/support/custom_matchers.rb
251
+ - spec/support/reset-singleton.rb
249
252
  - features/command_line_options.feature
250
253
  - features/rest_api/doubles.feature
251
254
  - features/rest_api/redirects.feature
@@ -261,22 +264,6 @@ test_files:
261
264
  - features/step_definitions/ruby_api_steps.rb
262
265
  - features/step_definitions/support/numeric_transforms.rb
263
266
  - features/support/env.rb
264
- - features/support/test-server.rb
265
267
  - features/support/world_helpers.rb
266
268
  - features/web_ui/doubles.feature
267
269
  - features/web_ui/redirects.feature
268
- - spec/api/app_session_spec.rb
269
- - spec/api/resource_double_spec.rb
270
- - spec/api/server_spec.rb
271
- - spec/config_spec.rb
272
- - spec/functional/double_routes_spec.rb
273
- - spec/functional/redirect_routes_spec.rb
274
- - spec/functional/response_spec.rb
275
- - spec/models/double_spec.rb
276
- - spec/models/redirect_spec.rb
277
- - spec/models/request_spec.rb
278
- - spec/port_explorer_spec.rb
279
- - spec/spec_helper.rb
280
- - spec/support/custom_matchers.rb
281
- - spec/support/reset-singleton.rb
282
- has_rdoc: