mirage 2.4.2 → 3.0.0.alpha.1
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.
- data/.simplecov +6 -0
- data/Gemfile +11 -3
- data/Gemfile.lock +41 -14
- data/VERSION +1 -1
- data/features/client/clear.feature +41 -50
- data/features/client/configure.feature +2 -2
- data/features/client/put.feature +17 -6
- data/features/client/requests.feature +5 -9
- data/features/client/start.feature +19 -11
- data/features/client/stop.feature +10 -44
- data/features/server/commandline_interface/start.feature +2 -14
- data/features/server/commandline_interface/stop.feature +6 -4
- data/features/server/logging.feature +2 -2
- data/features/server/prime.feature +11 -66
- data/features/server/requests/delete.feature +34 -33
- data/features/server/requests/get.feature +21 -18
- data/features/server/save_and_revert.feature +24 -11
- data/features/server/templates/delete.feature +29 -32
- data/features/server/templates/get.feature +44 -25
- data/features/server/templates/put/put.feature +55 -78
- data/features/server/templates/put/put_with_substitutions.feature +12 -32
- data/features/server/templates/put/required_content.feature +118 -0
- data/features/step_definitions/my_steps.rb +51 -6
- data/features/support/env.rb +1 -1
- data/features/support/hooks.rb +2 -5
- data/{lib/mirage/client → features/support}/web.rb +14 -3
- data/lib/mirage/client.rb +5 -2
- data/lib/mirage/client/client.rb +22 -129
- data/lib/mirage/client/request.rb +25 -0
- data/lib/mirage/client/requests.rb +13 -0
- data/lib/mirage/client/runner.rb +4 -4
- data/lib/mirage/client/template.rb +108 -0
- data/lib/mirage/client/template_configuration.rb +22 -0
- data/lib/mirage/client/templates.rb +26 -0
- data/mirage.gemspec +42 -22
- data/mirage_server.rb +1 -135
- data/rakefile +22 -7
- data/server/app.rb +4 -0
- data/server/binary_data_checker.rb +15 -0
- data/server/helpers.rb +28 -0
- data/server/mock_response.rb +140 -58
- data/server/server.rb +167 -0
- data/spec/{cli_bridge_spec.rb → client/cli_bridge_spec.rb} +15 -11
- data/spec/client/client_spec.rb +139 -0
- data/spec/client/request_spec.rb +52 -0
- data/spec/client/requests_spec.rb +10 -0
- data/spec/{runner_spec.rb → client/runner_spec.rb} +3 -3
- data/spec/client/template_configuration_spec.rb +32 -0
- data/spec/client/template_spec.rb +241 -0
- data/spec/client/templates_spec.rb +79 -0
- data/spec/resources/binary.file +0 -0
- data/spec/server/binary_data_checker_spec.rb +22 -0
- data/spec/server/helpers_spec.rb +34 -0
- data/spec/server/mock_response_spec.rb +526 -0
- data/spec/server/server_spec.rb +132 -0
- data/spec/spec_helper.rb +61 -2
- data/test.html +12 -0
- data/test.rb +20 -17
- data/todo.lst +2 -0
- data/views/index.haml +22 -0
- data/views/response.haml +24 -0
- metadata +134 -49
- data/features/server/templates/put/put_as_default.feature +0 -42
- data/features/server/templates/put/put_with_delay.feature +0 -8
- data/features/server/templates/put/put_with_pattern.feature +0 -80
- data/lib/mirage/client/response.rb +0 -29
- data/spec/client_spec.rb +0 -38
- data/views/index.erb +0 -28
data/.simplecov
ADDED
data/Gemfile
CHANGED
@@ -4,12 +4,20 @@ gem 'sinatra'
|
|
4
4
|
gem 'childprocess'
|
5
5
|
gem "waitforit"
|
6
6
|
gem "thor"
|
7
|
+
gem "ptools"
|
8
|
+
gem "httparty"
|
9
|
+
gem "haml"
|
7
10
|
|
8
|
-
group :
|
9
|
-
gem "thin"
|
10
|
-
gem 'rake'
|
11
|
+
group :test do
|
11
12
|
gem 'cucumber'
|
12
13
|
gem 'rspec'
|
14
|
+
gem 'rack-test'
|
15
|
+
gem 'simplecov'
|
16
|
+
gem 'hashie'
|
17
|
+
end
|
18
|
+
|
19
|
+
group :development do
|
20
|
+
gem 'rake'
|
13
21
|
gem "jeweler"
|
14
22
|
gem 'sinatra-contrib'
|
15
23
|
gem 'mechanize'
|
data/Gemfile.lock
CHANGED
@@ -12,7 +12,6 @@ GEM
|
|
12
12
|
gherkin (~> 2.7.1)
|
13
13
|
json (>= 1.4.6)
|
14
14
|
term-ansicolor (>= 1.0.6)
|
15
|
-
daemons (1.1.8)
|
16
15
|
diff-lcs (1.1.3)
|
17
16
|
domain_name (0.5.1)
|
18
17
|
unf (~> 0.0.3)
|
@@ -28,6 +27,12 @@ GEM
|
|
28
27
|
gherkin (2.7.2-x86-mingw32)
|
29
28
|
json (>= 1.4.6)
|
30
29
|
git (1.2.5)
|
30
|
+
haml (4.0.1)
|
31
|
+
tilt
|
32
|
+
hashie (2.0.3)
|
33
|
+
httparty (0.9.0)
|
34
|
+
multi_json (~> 1.0)
|
35
|
+
multi_xml
|
31
36
|
jeweler (1.6.4)
|
32
37
|
bundler (~> 1.0)
|
33
38
|
git (>= 1.2.5)
|
@@ -43,26 +48,35 @@ GEM
|
|
43
48
|
nokogiri (~> 1.4)
|
44
49
|
ntlm-http (~> 0.1, >= 0.1.1)
|
45
50
|
webrobots (~> 0.0, >= 0.0.9)
|
51
|
+
multi_json (1.3.6)
|
52
|
+
multi_xml (0.5.1)
|
46
53
|
net-http-digest_auth (1.2)
|
47
54
|
net-http-persistent (2.3.3)
|
48
55
|
nokogiri (1.5.0)
|
49
56
|
nokogiri (1.5.0-java)
|
50
57
|
nokogiri (1.5.0-x86-mingw32)
|
51
58
|
ntlm-http (0.1.1)
|
59
|
+
ptools (1.2.2)
|
60
|
+
ptools (1.2.2-x86-mingw32)
|
61
|
+
win32-file (>= 0.5.4)
|
52
62
|
rack (1.4.0)
|
53
63
|
rack-protection (1.2.0)
|
54
64
|
rack
|
55
65
|
rack-test (0.6.1)
|
56
66
|
rack (>= 1.0)
|
57
67
|
rake (0.9.2.2)
|
58
|
-
rspec (2.
|
59
|
-
rspec-core (~> 2.
|
60
|
-
rspec-expectations (~> 2.
|
61
|
-
rspec-mocks (~> 2.
|
62
|
-
rspec-core (2.
|
63
|
-
rspec-expectations (2.
|
64
|
-
diff-lcs (~> 1.1.
|
65
|
-
rspec-mocks (2.
|
68
|
+
rspec (2.11.0)
|
69
|
+
rspec-core (~> 2.11.0)
|
70
|
+
rspec-expectations (~> 2.11.0)
|
71
|
+
rspec-mocks (~> 2.11.0)
|
72
|
+
rspec-core (2.11.1)
|
73
|
+
rspec-expectations (2.11.3)
|
74
|
+
diff-lcs (~> 1.1.3)
|
75
|
+
rspec-mocks (2.11.3)
|
76
|
+
simplecov (0.6.4)
|
77
|
+
multi_json (~> 1.0)
|
78
|
+
simplecov-html (~> 0.5.3)
|
79
|
+
simplecov-html (0.5.3)
|
66
80
|
sinatra (1.3.2)
|
67
81
|
rack (~> 1.3, >= 1.3.6)
|
68
82
|
rack-protection (~> 1.2)
|
@@ -75,10 +89,6 @@ GEM
|
|
75
89
|
sinatra (~> 1.3.0)
|
76
90
|
tilt (~> 1.3)
|
77
91
|
term-ansicolor (1.0.7)
|
78
|
-
thin (1.4.1)
|
79
|
-
daemons (>= 1.0.9)
|
80
|
-
eventmachine (>= 0.12.6)
|
81
|
-
rack (>= 1.0.0)
|
82
92
|
thor (0.15.4)
|
83
93
|
tilt (1.3.3)
|
84
94
|
unf (0.0.4)
|
@@ -88,6 +98,18 @@ GEM
|
|
88
98
|
waitforit (0.0.1)
|
89
99
|
webrobots (0.0.12)
|
90
100
|
nokogiri (>= 1.4.4)
|
101
|
+
win32-api (1.4.8-x86-mingw32)
|
102
|
+
win32-file (0.6.8)
|
103
|
+
win32-api (>= 1.2.1)
|
104
|
+
win32-file-stat (>= 1.3.2)
|
105
|
+
windows-pr (>= 1.0.8)
|
106
|
+
win32-file-stat (1.3.6)
|
107
|
+
windows-pr (>= 1.0.0)
|
108
|
+
windows-api (0.4.2)
|
109
|
+
win32-api (>= 1.4.5)
|
110
|
+
windows-pr (1.2.2)
|
111
|
+
win32-api (>= 1.4.5)
|
112
|
+
windows-api (>= 0.3.0)
|
91
113
|
|
92
114
|
PLATFORMS
|
93
115
|
java
|
@@ -97,14 +119,19 @@ PLATFORMS
|
|
97
119
|
DEPENDENCIES
|
98
120
|
childprocess
|
99
121
|
cucumber
|
122
|
+
haml
|
123
|
+
hashie
|
124
|
+
httparty
|
100
125
|
jeweler
|
101
126
|
jruby-openssl
|
102
127
|
mechanize
|
103
128
|
nokogiri
|
129
|
+
ptools
|
130
|
+
rack-test
|
104
131
|
rake
|
105
132
|
rspec
|
133
|
+
simplecov
|
106
134
|
sinatra
|
107
135
|
sinatra-contrib
|
108
|
-
thin
|
109
136
|
thor
|
110
137
|
waitforit
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.0.alpha.1
|
@@ -1,91 +1,82 @@
|
|
1
|
-
Feature: The client can be used for clearing
|
1
|
+
Feature: The client can be used for clearing down Mirage.
|
2
|
+
|
3
|
+
As with the restful interface, clearing a template also clears any associated request data
|
2
4
|
|
3
5
|
Background:
|
4
|
-
Given the following
|
6
|
+
Given the following require statements are needed:
|
5
7
|
"""
|
6
8
|
require 'rubygems'
|
7
|
-
require 'rspec'
|
8
9
|
require 'mirage/client'
|
9
10
|
"""
|
10
11
|
|
11
|
-
And
|
12
|
-
|
13
|
-
Hello
|
14
|
-
"""
|
12
|
+
And a template for 'greeting' has been set with a value of 'Hello'
|
13
|
+
|
15
14
|
And I send GET to 'http://localhost:7001/mirage/responses/greeting' with parameters:
|
16
15
|
| message | hello there |
|
16
|
+
And a template for 'leaving' has been set with a value of 'Goodbye'
|
17
17
|
|
18
|
-
And I send PUT to 'http://localhost:7001/mirage/templates/leaving' with request entity
|
19
|
-
"""
|
20
|
-
Goodbye
|
21
|
-
"""
|
22
18
|
And I send GET to 'http://localhost:7001/mirage/responses/greeting' with parameters:
|
23
19
|
| message | I'm going |
|
24
20
|
|
25
21
|
|
26
|
-
Scenario: Clearing
|
27
|
-
|
22
|
+
Scenario: Clearing a template
|
23
|
+
Given I run
|
28
24
|
"""
|
29
|
-
Mirage::Client.new.
|
25
|
+
Mirage::Client.new.templates(1).delete
|
30
26
|
"""
|
31
|
-
|
27
|
+
When GET is sent to 'http://localhost:7001/mirage/responses/greeting'
|
32
28
|
Then a 404 should be returned
|
33
|
-
|
34
|
-
When I send GET to 'http://localhost:7001/mirage/requests/1'
|
29
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/1'
|
35
30
|
Then a 404 should be returned
|
36
31
|
|
37
|
-
|
38
|
-
Then a
|
32
|
+
When GET is sent to 'http://localhost:7001/mirage/responses/leaving'
|
33
|
+
Then a 200 should be returned
|
34
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/2'
|
35
|
+
Then a 200 should be returned
|
39
36
|
|
40
|
-
|
37
|
+
|
38
|
+
Scenario: Clearning a request
|
39
|
+
Given I run
|
40
|
+
"""
|
41
|
+
Mirage::Client.new.requests(1).delete
|
42
|
+
"""
|
43
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/1'
|
41
44
|
Then a 404 should be returned
|
45
|
+
When GET is sent to 'http://localhost:7001/mirage/responses/greeting'
|
46
|
+
Then a 200 should be returned
|
42
47
|
|
43
48
|
|
44
|
-
Scenario: Clearing
|
49
|
+
Scenario: Clearing everything
|
45
50
|
When I run
|
46
51
|
"""
|
47
|
-
Mirage::Client.new.
|
52
|
+
Mirage::Client.new.templates.delete_all
|
48
53
|
"""
|
49
|
-
|
54
|
+
And GET is sent to 'http://localhost:7001/mirage/responses/greeting'
|
50
55
|
Then a 404 should be returned
|
51
56
|
|
52
|
-
When
|
57
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/1'
|
53
58
|
Then a 404 should be returned
|
54
59
|
|
55
|
-
|
56
|
-
Then a
|
57
|
-
When I send GET to 'http://localhost:7001/mirage/responses/leaving'
|
58
|
-
Then a 200 should be returned
|
60
|
+
And GET is sent to 'http://localhost:7001/mirage/responses/leaving'
|
61
|
+
Then a 404 should be returned
|
59
62
|
|
63
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/2'
|
64
|
+
Then a 404 should be returned
|
60
65
|
|
61
|
-
|
62
|
-
|
66
|
+
|
67
|
+
Scenario: Clearing all request data
|
68
|
+
When I run
|
63
69
|
"""
|
64
|
-
Mirage::Client.new.
|
70
|
+
Mirage::Client.new.requests.delete_all
|
65
71
|
"""
|
66
|
-
When
|
72
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/1'
|
67
73
|
Then a 404 should be returned
|
68
|
-
|
74
|
+
|
75
|
+
When GET is sent to 'http://localhost:7001/mirage/requests/2'
|
69
76
|
Then a 404 should be returned
|
70
|
-
When I send GET to 'http://localhost:7001/mirage/responses/leaving'
|
71
|
-
Then a 200 should be returned
|
72
|
-
When I send GET to 'http://localhost:7001/mirage/requests/2'
|
73
|
-
Then a 200 should be returned
|
74
77
|
|
75
78
|
|
76
|
-
|
77
|
-
Given I run
|
78
|
-
"""
|
79
|
-
Mirage::Client.new.clear :request => 1
|
80
|
-
"""
|
81
|
-
When I send GET to 'http://localhost:7001/mirage/requests/1'
|
82
|
-
Then a 404 should be returned
|
83
|
-
When I send GET to 'http://localhost:7001/mirage/responses/greeting'
|
84
|
-
Then a 200 should be returned
|
85
|
-
When I send GET to 'http://localhost:7001/mirage/responses/leaving'
|
86
|
-
Then a 200 should be returned
|
87
|
-
When I send GET to 'http://localhost:7001/mirage/requests/2'
|
88
|
-
Then a 200 should be returned
|
79
|
+
|
89
80
|
|
90
81
|
|
91
82
|
|
@@ -21,7 +21,7 @@ Feature: The client can be configured with default settings to keep your mocking
|
|
21
21
|
|
22
22
|
client.put('greeting','hello')
|
23
23
|
"""
|
24
|
-
When
|
24
|
+
When POST is sent to 'http://localhost:7001/mirage/responses/greeting/for/someone'
|
25
25
|
Then 'hello' should be returned
|
26
26
|
And a 202 should be returned
|
27
27
|
Then it should take at least '2' seconds
|
@@ -41,7 +41,7 @@ Feature: The client can be configured with default settings to keep your mocking
|
|
41
41
|
|
42
42
|
client.put('greeting','hello')
|
43
43
|
"""
|
44
|
-
When
|
44
|
+
When POST is sent to 'http://localhost:7001/mirage/responses/greeting/for/someone'
|
45
45
|
Then 'hello' should be returned
|
46
46
|
And a 202 should be returned
|
47
47
|
Then it should take at least '2' seconds
|
data/features/client/put.feature
CHANGED
@@ -33,12 +33,12 @@ Feature: the Mirage client provides methods for setting responses and loading de
|
|
33
33
|
Then 'Hello Leon' should be returned
|
34
34
|
|
35
35
|
|
36
|
-
Scenario
|
36
|
+
Scenario: Setting a response with required body content
|
37
37
|
Given I run
|
38
38
|
"""
|
39
39
|
Mirage::Client.new.put('greeting', 'Hello Leon') do |response|
|
40
40
|
response.method = 'POST'
|
41
|
-
response.
|
41
|
+
response.add_body_content_requirement /leon/
|
42
42
|
end
|
43
43
|
"""
|
44
44
|
When I send POST to 'http://localhost:7001/mirage/responses/greeting'
|
@@ -50,10 +50,21 @@ Feature: the Mirage client provides methods for setting responses and loading de
|
|
50
50
|
</greetingRequest>
|
51
51
|
"""
|
52
52
|
Then 'Hello Leon' should be returned
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
|
54
|
+
Scenario: Setting a response with a request parameter requirement
|
55
|
+
Given I run
|
56
|
+
"""
|
57
|
+
Mirage::Client.new.put('greeting', 'Hello Leon') do |response|
|
58
|
+
response.method = 'POST'
|
59
|
+
response.add_request_parameter_requirement :name, /leon/
|
60
|
+
end
|
61
|
+
"""
|
62
|
+
When I send POST to 'http://localhost:7001/mirage/responses/greeting'
|
63
|
+
Then a 404 should be returned
|
64
|
+
When I send POST to 'http://localhost:7001/mirage/responses/greeting' with parameters:
|
65
|
+
| name | leon |
|
66
|
+
|
67
|
+
Then 'Hello Leon' should be returned
|
57
68
|
|
58
69
|
Scenario: setting a response as default
|
59
70
|
Given I run
|
@@ -1,22 +1,18 @@
|
|
1
|
-
Feature: Requests made to the Mirage Server can be
|
1
|
+
Feature: Requests made to the Mirage Server can be retrieved using the Mirage client
|
2
2
|
|
3
3
|
Background:
|
4
|
-
Given the following
|
4
|
+
Given the following require statements are needed:
|
5
5
|
"""
|
6
6
|
require 'rubygems'
|
7
|
-
require 'rspec'
|
8
7
|
require 'mirage/client'
|
9
8
|
"""
|
10
9
|
|
11
|
-
Scenario:
|
12
|
-
Given
|
13
|
-
"""
|
14
|
-
Hello
|
15
|
-
"""
|
10
|
+
Scenario: Retrieving request data
|
11
|
+
Given a template for 'greeting' has been set with a value of 'Hello'
|
16
12
|
|
17
13
|
When I send GET to 'http://localhost:7001/mirage/responses/greeting' with parameters:
|
18
14
|
| name | leon |
|
19
15
|
Then I run
|
20
16
|
"""
|
21
|
-
Mirage::Client.new.
|
17
|
+
Mirage::Client.new.requests(1).parameters.should == {'name' => 'leon'}
|
22
18
|
"""
|
@@ -1,18 +1,19 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
@command_line
|
2
|
+
Feature: The client API can be used to start Mirage.
|
3
|
+
|
4
|
+
Both the port and default templates directory can be specified
|
5
|
+
|
6
|
+
On starting Mirage a client is returned.
|
3
7
|
|
4
|
-
The client can only be used to stop Mirage if it is was used to start the running instance.
|
5
8
|
|
6
9
|
Background:
|
7
|
-
Given the following
|
10
|
+
Given the following require statements are needed:
|
8
11
|
"""
|
9
12
|
require 'rubygems'
|
10
|
-
require 'rspec'
|
11
13
|
require 'mirage/client'
|
12
14
|
"""
|
13
15
|
|
14
|
-
|
15
|
-
Scenario: Starting mirage with defaults
|
16
|
+
Scenario: Starting Mirage on the default port
|
16
17
|
When I run
|
17
18
|
"""
|
18
19
|
Mirage.start
|
@@ -21,16 +22,23 @@ Feature: The Mirage client provides a programmatic interface equivalent to the c
|
|
21
22
|
|
22
23
|
|
23
24
|
Scenario: Starting Mirage on a custom port
|
24
|
-
|
25
|
+
When I run
|
26
|
+
"""
|
27
|
+
Mirage.start :port => 9001
|
28
|
+
"""
|
29
|
+
Then mirage should be running on 'http://localhost:9001/mirage'
|
30
|
+
|
31
|
+
|
32
|
+
Scenario: Specifying a custom templates directory.
|
25
33
|
And the file './custom_responses_location/default_greetings.rb' contains:
|
26
34
|
"""
|
27
35
|
prime do |mirage|
|
28
|
-
mirage.put('greeting', 'hello')
|
36
|
+
mirage.templates.put('greeting', 'hello')
|
29
37
|
end
|
30
38
|
"""
|
31
39
|
When I run
|
32
40
|
"""
|
33
|
-
Mirage.start :
|
41
|
+
Mirage.start :defaults => './custom_responses_location'
|
34
42
|
"""
|
35
|
-
And
|
43
|
+
And GET is sent to 'http://localhost:7001/mirage/responses/greeting'
|
36
44
|
Then 'hello' should be returned
|
@@ -1,40 +1,32 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
The client can only be used to stop Mirage if it is was used to start the running instance.
|
1
|
+
@command_line
|
2
|
+
Feature:The client API can be used to stop instances of Mirage running on localhost.
|
5
3
|
|
6
4
|
Background:
|
7
|
-
Given the following
|
5
|
+
Given the following require statements are needed:
|
8
6
|
"""
|
9
7
|
require 'rubygems'
|
10
|
-
require 'rspec'
|
11
8
|
require 'mirage/client'
|
12
9
|
"""
|
13
10
|
|
14
|
-
|
15
11
|
Scenario: Stopping Mirage
|
16
|
-
Given Mirage is
|
12
|
+
Given Mirage is running
|
17
13
|
When I run
|
18
14
|
"""
|
19
|
-
Mirage.
|
20
|
-
Mirage.stop :port => 7001
|
15
|
+
Mirage.stop
|
21
16
|
"""
|
22
17
|
Then Connection should be refused to 'http://localhost:7001/mirage'
|
23
18
|
|
19
|
+
|
24
20
|
Scenario: Stopping Mirage on custom port
|
25
|
-
Given Mirage is not running
|
26
|
-
And I run 'mirage start -p 7001'
|
27
21
|
And I run 'mirage start -p 9001'
|
28
22
|
When I run
|
29
23
|
"""
|
30
24
|
Mirage.stop :port => 9001
|
31
25
|
"""
|
32
|
-
Then mirage should be running on 'http://localhost:7001/mirage'
|
33
26
|
Then mirage should not be running on 'http://localhost:9001/mirage'
|
34
27
|
|
35
28
|
Scenario: Stopping multiple instances of Mirage
|
36
|
-
Given
|
37
|
-
And I run 'mirage start -p 7001'
|
29
|
+
Given I run 'mirage start -p 7001'
|
38
30
|
And I run 'mirage start -p 9001'
|
39
31
|
And I run 'mirage start -p 10001'
|
40
32
|
When I run
|
@@ -45,9 +37,9 @@ Feature: The Mirage client provides a programmatic interface equivalent to the c
|
|
45
37
|
Then mirage should not be running on 'http://localhost:9001/mirage'
|
46
38
|
Then mirage should not be running on 'http://localhost:10001/mirage'
|
47
39
|
|
40
|
+
|
48
41
|
Scenario: Stopping all instances of Mirage
|
49
|
-
Given
|
50
|
-
And I run 'mirage start -p 7001'
|
42
|
+
Given I run 'mirage start -p 7001'
|
51
43
|
And I run 'mirage start -p 9001'
|
52
44
|
And I run 'mirage start -p 10001'
|
53
45
|
When I run
|
@@ -56,30 +48,4 @@ Feature: The Mirage client provides a programmatic interface equivalent to the c
|
|
56
48
|
"""
|
57
49
|
Then mirage should not be running on 'http://localhost:7001/mirage'
|
58
50
|
Then mirage should not be running on 'http://localhost:9001/mirage'
|
59
|
-
Then mirage should not be running on 'http://localhost:10001/mirage'
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
Scenario: Using client to stop mirage
|
64
|
-
Given Mirage is not running
|
65
|
-
And I run 'mirage start -p 7001'
|
66
|
-
And I run 'mirage start -p 9001'
|
67
|
-
When I run
|
68
|
-
"""
|
69
|
-
begin
|
70
|
-
Mirage.stop
|
71
|
-
raise "should have errored"
|
72
|
-
rescue Mirage::ClientError => ce
|
73
|
-
end
|
74
|
-
"""
|
75
|
-
Then mirage should be running on 'http://localhost:7001/mirage'
|
76
|
-
And mirage should be running on 'http://localhost:9001/mirage'
|
77
|
-
|
78
|
-
Scenario: Stopping Mirage without specifying the port when more than one instance of Mirage is running
|
79
|
-
Given Mirage is not running
|
80
|
-
When I run
|
81
|
-
"""
|
82
|
-
client = Mirage.start
|
83
|
-
client.stop
|
84
|
-
"""
|
85
|
-
Then Connection should be refused to 'http://localhost:7001/mirage'
|
51
|
+
Then mirage should not be running on 'http://localhost:10001/mirage'
|