rest-assured 2.0.1 → 2.0.2
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 +4 -4
- data/CHANGELOG +4 -0
- data/README.markdown +17 -11
- data/db/test.db +0 -0
- data/features/rest_api/doubles.feature +1 -0
- data/features/support/env.rb +4 -4
- data/lib/rest-assured/application.rb +1 -1
- data/lib/rest-assured/config.rb +1 -2
- data/lib/rest-assured/models/double.rb +1 -0
- data/lib/rest-assured/models/redirect.rb +2 -0
- data/lib/rest-assured/models/request.rb +2 -0
- data/lib/rest-assured/version.rb +1 -1
- data/spec/functional/response_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +3 -4
- data/db/development.db +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c35115ced77a2089492a155ef70c877a7f79155
|
4
|
+
data.tar.gz: 3d0869cf86b0874e797e40054776213c87d7c145
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db3e43f69330695ba514f99c3851e78020828700aab04104e000149799941ac7d83b74ac147712a6355269c807ab5afa585f5acffae7215c9994289853fb7556
|
7
|
+
data.tar.gz: 0c9b77fe69ea6dbf572130f7e998557ef0a89ed2c76b1bcad92bb5f8b2fa1f08a402726185bafa82bcb5a90f83cb44ac956f4d5f77a742787c210dbfed721d3b
|
data/CHANGELOG
CHANGED
data/README.markdown
CHANGED
@@ -3,44 +3,50 @@
|
|
3
3
|
[](https://travis-ci.org/artemave/REST-assured)
|
4
4
|
[](http://badge.fury.io/rb/rest-assured)
|
5
5
|
|
6
|
+
[](https://heroku.com/deploy)
|
7
|
+
|
6
8
|
## Overview
|
7
9
|
|
8
10
|
Stub/spy http(s) based external dependencies in your integration/acceptance tests.
|
9
11
|
|
10
12
|
## Description
|
11
13
|
|
12
|
-
|
14
|
+
With REST-assured you can:
|
15
|
+
|
16
|
+
* in tests: replace external HTTP(S) based data sources with predefined data (stubbing)
|
17
|
+
* in tests: verify requests to external services (spying)
|
18
|
+
* in development: simulate different behavior of external services using web UI; it looks like this:
|
13
19
|
|
14
|
-
|
15
|
-
* verify requests to external services (spying)
|
16
|
-
* simulate different behavior of external services using web UI; useful in development
|
20
|
+

|
17
21
|
|
18
|
-
REST-assured
|
22
|
+
REST-assured is a web server that can be started programmatically and configured at runtime (via ruby client library or REST api) to respond to any request with arbitrary content, status, headers, etc.
|
19
23
|
|
20
|
-
|
24
|
+
But why not to use [VCR](https://github.com/vcr/vcr) or [WebMock](https://github.com/bblimke/webmock) instead? Well, you certainly should. If you can. REST-assured was born on a project where code was written in Java and integration tests in Ruby. This may sound a bit crazy, but the world is full crazy things and if you find yourself in one, you might find REST-assured useful.
|
21
25
|
|
22
26
|
[Playground](http://fakesh.it/)
|
23
27
|
|
24
28
|
[Example project](https://github.com/artemave/REST-assured-example)
|
25
29
|
|
30
|
+
[Long-winded intro blog post](http://artemave.github.com/2012/05/27/stub-like-a-surgeon-spy-like-james-bond-with-rest-assured/)
|
31
|
+
|
26
32
|
|
27
33
|
## Set up
|
28
34
|
|
29
|
-
You are going to need ruby >= 1.9.
|
35
|
+
You are going to need ruby >= 1.9.3 and either sqlite3, postgres or mysql.
|
30
36
|
|
31
37
|
### In ruby project
|
32
38
|
|
33
39
|
```ruby
|
34
40
|
# Gemfile
|
35
41
|
gem 'sqlite3' # or mysql2 or pg
|
36
|
-
# use 'jdbcsqlite3'
|
42
|
+
# use 'jdbcsqlite3' or 'jdbcmysql' for jruby
|
37
43
|
gem 'rest-assured'
|
38
44
|
|
39
45
|
# env.rb/spec_helper.rb
|
40
46
|
require 'rest-assured'
|
41
47
|
|
42
|
-
RestAssured::Server.start(database: ':memory:'
|
43
|
-
# Or
|
48
|
+
RestAssured::Server.start(database: ':memory:') # or any other option available on command line
|
49
|
+
# Or you can specify an instance that is already running somewhere:
|
44
50
|
RestAssured::Server.address = 'http://wacky-duckling.herokuapp.com'
|
45
51
|
```
|
46
52
|
|
@@ -213,7 +219,7 @@ Here is the rest API for managing redirects:
|
|
213
219
|
|
214
220
|
## Running tests
|
215
221
|
|
216
|
-
Tests require
|
222
|
+
Tests require sqlite. Cucumber tests also need Chrome.
|
217
223
|
|
218
224
|
$ git clone git://github.com/artemave/REST-assured.git
|
219
225
|
$ cd rest-assured && bundle install
|
data/db/test.db
CHANGED
Binary file
|
@@ -34,6 +34,7 @@ Feature: use doubles via api
|
|
34
34
|
| /api/asdfsf | removed | DELETE | 202 |
|
35
35
|
| /api/some?a=3&b=dd | more content | GET | 203 |
|
36
36
|
| /other/api | | GET | 303 |
|
37
|
+
| /patch/api | | PATCH | 200 |
|
37
38
|
|
38
39
|
# current rule: last added double gets picked
|
39
40
|
Scenario Outline: request fullpath that matches multiple doubles
|
data/features/support/env.rb
CHANGED
@@ -26,14 +26,14 @@ module RackHeaderHack
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
Capybara.register_driver :selenium do |app|
|
30
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
31
|
+
end
|
32
32
|
|
33
33
|
World(Capybara, Rack::Test::Methods, RackHeaderHack, WorldHelpers, Anticipate)
|
34
34
|
|
35
35
|
require 'rest-assured/config'
|
36
|
-
db_opts = { :adapter => '
|
36
|
+
db_opts = { :adapter => 'sqlite' }
|
37
37
|
RestAssured::Config.build(db_opts)
|
38
38
|
|
39
39
|
require 'rest-assured'
|
data/lib/rest-assured/config.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
require 'logger'
|
2
|
-
require 'active_record'
|
3
|
-
require 'active_support/core_ext/kernel/reporting'
|
4
2
|
|
5
3
|
module RestAssured
|
6
4
|
module Config
|
@@ -67,6 +65,7 @@ module RestAssured
|
|
67
65
|
private
|
68
66
|
|
69
67
|
def self.setup_db
|
68
|
+
require 'active_record'
|
70
69
|
setup_db_logging
|
71
70
|
connect_db
|
72
71
|
migrate_db
|
data/lib/rest-assured/version.rb
CHANGED
@@ -3,8 +3,8 @@ require 'rest-assured/routes/response'
|
|
3
3
|
|
4
4
|
module RestAssured
|
5
5
|
describe Response do
|
6
|
-
[:get, :post, :put, :delete].each do |verb|
|
7
|
-
it "processes
|
6
|
+
[:get, :post, :put, :delete, :patch].each do |verb|
|
7
|
+
it "processes a #{verb.to_s.upcase} request" do
|
8
8
|
|
9
9
|
expect(Response).to receive(:perform).with(an_instance_of(RestAssured::Application))
|
10
10
|
send verb, '/some/path'
|
data/spec/spec_helper.rb
CHANGED
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.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Avetisyan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|
@@ -120,7 +120,6 @@ files:
|
|
120
120
|
- LICENSE
|
121
121
|
- README.markdown
|
122
122
|
- bin/rest-assured
|
123
|
-
- db/development.db
|
124
123
|
- db/migrate/20110620161740_add_fixtures.rb
|
125
124
|
- db/migrate/20110625155332_add_redirects_table.rb
|
126
125
|
- db/migrate/20110709150645_add_description_to_fixtures.rb
|
@@ -230,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
229
|
version: '0'
|
231
230
|
requirements: []
|
232
231
|
rubyforge_project: rest-assured
|
233
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.5.1
|
234
233
|
signing_key:
|
235
234
|
specification_version: 4
|
236
235
|
summary: Real stubs and spies for HTTP(S) services
|
data/db/development.db
DELETED
Binary file
|