mirage 3.0.13 → 3.0.14
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 +8 -8
- metadata +1 -75
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.simplecov +0 -6
- data/.travis.yml +0 -4
- data/Gemfile +0 -27
- data/Gemfile.lock +0 -142
- data/HISTORY +0 -24
- data/Rakefile +0 -10
- data/VERSION +0 -1
- data/features/.nav +0 -29
- data/features/client/clear.feature +0 -78
- data/features/client/configure.feature +0 -72
- data/features/client/model.feature +0 -95
- data/features/client/preview_responses.feature +0 -33
- data/features/client/prime.feature +0 -32
- data/features/client/put.feature +0 -111
- data/features/client/readme.md +0 -3
- data/features/client/requests.feature +0 -20
- data/features/client/running.feature +0 -51
- data/features/client/save_and_revert.feature +0 -39
- data/features/client/start.feature +0 -46
- data/features/client/stop.feature +0 -53
- data/features/commandline_interface/help.feature +0 -17
- data/features/commandline_interface/readme.md +0 -1
- data/features/commandline_interface/start.feature +0 -18
- data/features/commandline_interface/stop.feature +0 -42
- data/features/logging.feature +0 -6
- data/features/prime.feature +0 -35
- data/features/readme.md +0 -7
- data/features/requests/delete.feature +0 -48
- data/features/requests/get.feature +0 -36
- data/features/save_and_revert.feature +0 -35
- data/features/step_definitions/my_steps.rb +0 -97
- data/features/step_definitions/observation_steps.rb +0 -102
- data/features/support/command_line.rb +0 -37
- data/features/support/env.rb +0 -22
- data/features/support/hooks.rb +0 -26
- data/features/support/mirage.rb +0 -12
- data/features/support/web.rb +0 -19
- data/features/templates/delete.feature +0 -45
- data/features/templates/get.feature +0 -54
- data/features/templates/path_wildcards.feature +0 -10
- data/features/templates/preview.feature +0 -18
- data/features/templates/put.feature +0 -77
- data/features/templates/put_with_substitutions.feature +0 -22
- data/features/templates/readme.md +0 -4
- data/features/templates/required_content.feature +0 -113
- data/features/web_user_interface.feature +0 -44
- data/full_build.sh +0 -100
- data/mirage.gemspec +0 -174
- data/spec/mirage/client/cli_bridge_spec.rb +0 -63
- data/spec/mirage/client/client_spec.rb +0 -179
- data/spec/mirage/client/helpers/method_builder_spec.rb +0 -48
- data/spec/mirage/client/request_spec.rb +0 -44
- data/spec/mirage/client/requests_spec.rb +0 -9
- data/spec/mirage/client/runner_spec.rb +0 -138
- data/spec/mirage/client/template/configuration_spec.rb +0 -32
- data/spec/mirage/client/template/model/common_methods_spec.rb +0 -25
- data/spec/mirage/client/template/model/instance_methods_spec.rb +0 -169
- data/spec/mirage/client/template/model_spec.rb +0 -119
- data/spec/mirage/client/template_spec.rb +0 -146
- data/spec/mirage/client/templates_spec.rb +0 -197
- data/spec/mirage/wait_methods_spec.rb +0 -42
- data/spec/resources/binary.file +0 -0
- data/spec/server/binary_data_checker_spec.rb +0 -21
- data/spec/server/helpers/http_headers_spec.rb +0 -20
- data/spec/server/helpers/template_requirements_spec.rb +0 -34
- data/spec/server/mock_response_set_spec.rb +0 -57
- data/spec/server/mock_response_spec.rb +0 -577
- data/spec/server/server_spec.rb +0 -156
- data/spec/spec_helper.rb +0 -85
- data/tasks/application.rake +0 -7
- data/tasks/packaging.rake +0 -28
- data/tasks/tests.rake +0 -25
@@ -1,179 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'mirage/client'
|
3
|
-
|
4
|
-
describe Mirage::Client do
|
5
|
-
|
6
|
-
|
7
|
-
before :each do
|
8
|
-
@response = double('response').as_null_object
|
9
|
-
end
|
10
|
-
|
11
|
-
describe 'configuration' do
|
12
|
-
it 'is configured to connect to local host port 7001 by default' do
|
13
|
-
Client.new.url.should == "http://localhost:7001"
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'can be configured with a url pointing to Mirage' do
|
17
|
-
mirage_url = "http://url.for.mirage"
|
18
|
-
Client.new(mirage_url).url.should == mirage_url
|
19
|
-
|
20
|
-
Client.new(:url => mirage_url).url.should == mirage_url
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'can be configured with a port refering to which port Mirage is running on on localhost' do
|
24
|
-
port = 9001
|
25
|
-
Client.new(:port => port).url.should == "http://localhost:#{port}"
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'raises an error if neither a port or url specified in the argument' do
|
29
|
-
expect { Client.new({}) }.to raise_error()
|
30
|
-
expect { Client.new("rubbish") }.to raise_error()
|
31
|
-
end
|
32
|
-
|
33
|
-
|
34
|
-
describe 'defaults' do
|
35
|
-
it 'can be configured with template defaults on initialize' do
|
36
|
-
templates, config = Templates.new("url"), proc {}
|
37
|
-
Templates.should_receive(:new).and_return(templates)
|
38
|
-
templates.should_receive(:default_config) do |&block|
|
39
|
-
block.should == config
|
40
|
-
end
|
41
|
-
Client.new &config
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'can be configured with template defaults on after initalize' do
|
45
|
-
templates, config = Templates.new("url"), proc {}
|
46
|
-
Templates.should_receive(:new).and_return(templates)
|
47
|
-
templates.should_receive(:default_config) do |&block|
|
48
|
-
block.should == config
|
49
|
-
end
|
50
|
-
Client.new.configure &config
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'can be reset' do
|
54
|
-
client = Client.new do
|
55
|
-
http_method :post
|
56
|
-
end
|
57
|
-
|
58
|
-
client.reset
|
59
|
-
client.templates.default_config.should == Template::Configuration.new
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'should clear mirage' do
|
66
|
-
templates_mock = double('templates')
|
67
|
-
Templates.should_receive(:new).and_return(templates_mock)
|
68
|
-
templates_mock.should_receive(:delete_all)
|
69
|
-
Client.new.clear
|
70
|
-
end
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
it 'should prime mirage' do
|
76
|
-
Client.should_receive(:put) do |url|
|
77
|
-
url.should == "http://localhost:7001/defaults"
|
78
|
-
end
|
79
|
-
Client.new.prime
|
80
|
-
end
|
81
|
-
|
82
|
-
describe 'templates' do
|
83
|
-
it 'should give access to templates' do
|
84
|
-
mirage = Client.new
|
85
|
-
mirage.templates.instance_of?(Templates).should == true
|
86
|
-
end
|
87
|
-
|
88
|
-
it 'The templates instance should be the one created on construction otherwise the defaults passed in will get lost' do
|
89
|
-
mirage = Client.new
|
90
|
-
mirage.templates.should == mirage.templates
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'should find a template' do
|
94
|
-
id = 1
|
95
|
-
mirage = Client.new
|
96
|
-
mock_template = double('template')
|
97
|
-
Template.should_receive(:get).with("#{mirage.url}/templates/#{id}").and_return(mock_template)
|
98
|
-
mirage.templates(1).should == mock_template
|
99
|
-
end
|
100
|
-
|
101
|
-
|
102
|
-
describe 'put' do
|
103
|
-
it "should put a response on mirage by passing args on to template's put method " do
|
104
|
-
endpoint, value, block = 'greeting', 'hello', Proc.new{}
|
105
|
-
|
106
|
-
templates_mock = double('templates')
|
107
|
-
Templates.should_receive(:new).and_return(templates_mock)
|
108
|
-
|
109
|
-
templates_mock.should_receive(:put).with(endpoint, value, &block)
|
110
|
-
|
111
|
-
mirage = Client.new
|
112
|
-
mirage.put endpoint, value, &block
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
describe 'requests' do
|
118
|
-
it 'should give access to requests' do
|
119
|
-
mirage = Client.new
|
120
|
-
mirage.requests.instance_of?(Requests).should == true
|
121
|
-
end
|
122
|
-
|
123
|
-
it 'should find a request' do
|
124
|
-
id = 1
|
125
|
-
mirage = Client.new
|
126
|
-
Request.should_receive(:get).with("#{mirage.url}/requests/#{id}")
|
127
|
-
mirage.requests(id)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
describe 'save' do
|
132
|
-
it 'should save the current template setup of mirage' do
|
133
|
-
mirage = Client.new
|
134
|
-
Client.should_receive(:put).with("#{mirage.url}/backup", :body => "")
|
135
|
-
mirage.save
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
describe 'revert' do
|
140
|
-
it 'should revert the current template set' do
|
141
|
-
mirage = Client.new
|
142
|
-
Client.should_receive(:put).with(mirage.url, :body => "")
|
143
|
-
mirage.revert
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
describe 'running?' do
|
148
|
-
it 'should check if mirage is runing' do
|
149
|
-
url = 'http://some_url'
|
150
|
-
|
151
|
-
Mirage.should_receive(:running?).with url
|
152
|
-
Client.new(url).running?
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
|
157
|
-
describe 'interface to mirage' do
|
158
|
-
|
159
|
-
after :each do
|
160
|
-
Mirage.stop
|
161
|
-
end
|
162
|
-
|
163
|
-
it 'should set a response' do
|
164
|
-
client = Mirage.start
|
165
|
-
response = client.templates.put("greeting", "hello")
|
166
|
-
response.id.should == 1
|
167
|
-
end
|
168
|
-
|
169
|
-
it 'should find mirage running' do
|
170
|
-
Mirage.start
|
171
|
-
Mirage.running?.should == true
|
172
|
-
end
|
173
|
-
|
174
|
-
it 'should not find mirage running' do
|
175
|
-
Mirage.running?.should == false
|
176
|
-
end
|
177
|
-
|
178
|
-
end
|
179
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Helpers::MethodBuilder do
|
4
|
-
|
5
|
-
describe 'a builder method' do
|
6
|
-
let :model do
|
7
|
-
model_class = Class.new do
|
8
|
-
extend Helpers::MethodBuilder
|
9
|
-
|
10
|
-
builder_method :name
|
11
|
-
end
|
12
|
-
model_class.new
|
13
|
-
end
|
14
|
-
|
15
|
-
context 'parameter is nil' do
|
16
|
-
it 'should set the value to nil' do
|
17
|
-
model.name(:joe)
|
18
|
-
model.name(nil)
|
19
|
-
expect(model.name).to be_nil
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'should set a value' do
|
24
|
-
model.name(:joe)
|
25
|
-
model.name.should == :joe
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'should chain' do
|
29
|
-
model.name(:joe).should == model
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should work with booleans' do
|
33
|
-
model.name(false)
|
34
|
-
model.name.should == false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
it 'should let you define more than one builder method at a time' do
|
40
|
-
model_class = Class.new do
|
41
|
-
extend Helpers::MethodBuilder
|
42
|
-
builder_methods :foo, :bar
|
43
|
-
end
|
44
|
-
model = model_class.new
|
45
|
-
model.respond_to?(:foo).should be_true
|
46
|
-
model.respond_to?(:bar).should be_true
|
47
|
-
end
|
48
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Request do
|
4
|
-
let(:id) { "url_for_request_entity" }
|
5
|
-
let(:request_url) { "requested_url" }
|
6
|
-
let(:trigger_url) { "trigger url" }
|
7
|
-
|
8
|
-
let(:body) { "body" }
|
9
|
-
let(:parameters) { {"name" => "joe"} }
|
10
|
-
let(:headers) { {"header" => "value"} }
|
11
|
-
|
12
|
-
let(:request_json) do
|
13
|
-
{body: body,
|
14
|
-
headers: headers,
|
15
|
-
parameters: parameters,
|
16
|
-
request_url: trigger_url,
|
17
|
-
id: id}
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'delete a request' do
|
21
|
-
id = "url"
|
22
|
-
Request.should_receive(:delete).with(id)
|
23
|
-
request = Request.new
|
24
|
-
request.id = id
|
25
|
-
request.delete
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'should load request data' do
|
29
|
-
Request.should_receive(:backedup_get).with(request_url, format: :json).and_return(request_json)
|
30
|
-
|
31
|
-
request = Request.get(request_url)
|
32
|
-
request.headers.should == headers
|
33
|
-
request.body.should == body
|
34
|
-
request.request_url.should == trigger_url
|
35
|
-
request.parameters.should == parameters
|
36
|
-
request.id.should == id
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'raises error when request is not found' do
|
40
|
-
Request.should_receive(:backedup_get).and_raise(StandardError)
|
41
|
-
|
42
|
-
expect { Request.get(request_url) }.to raise_error(Request::NotReceivedException)
|
43
|
-
end
|
44
|
-
end
|
@@ -1,138 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'mirage/client'
|
3
|
-
|
4
|
-
|
5
|
-
describe Mirage do
|
6
|
-
|
7
|
-
describe 'starting' do
|
8
|
-
before(:each) do
|
9
|
-
@runner = double
|
10
|
-
Runner.should_receive(:new).and_return(@runner)
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'should start Mirage on port 7001 by default' do
|
14
|
-
@runner.should_receive(:invoke).with(:start, [], {:port => 7001})
|
15
|
-
client = Mirage.start
|
16
|
-
client.should == Mirage::Client.new
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'should start mirage on the given port' do
|
20
|
-
options = {:port => 9001}
|
21
|
-
@runner.should_receive(:invoke).with(:start, [], options)
|
22
|
-
Mirage.start options
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
describe 'stopping' do
|
27
|
-
before(:each) do
|
28
|
-
@runner = double
|
29
|
-
Runner.stub(:new).and_return(@runner)
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should supply single port argument in an array to the runner' do
|
33
|
-
port = 7001
|
34
|
-
@runner.should_receive(:invoke).with(:stop, [], :port => [port])
|
35
|
-
@runner.should_receive(:invoke).with(:stop, [], :port => [:all])
|
36
|
-
Mirage.stop(:port => port)
|
37
|
-
Mirage.stop(:all)
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'should stop multiple instances of Mirage' do
|
41
|
-
ports = 7001, 7002
|
42
|
-
@runner.should_receive(:invoke).with(:stop, [], :port => ports)
|
43
|
-
Mirage.stop(:port => ports)
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
describe Mirage::Runner do
|
49
|
-
it 'should stop the running instance of Mirage' do
|
50
|
-
options = {:port => []}
|
51
|
-
runner = Mirage::Runner.new
|
52
|
-
runner.options = options
|
53
|
-
|
54
|
-
runner.stub(:mirage_process_ids).with([]).and_return({"7001" => "18901"})
|
55
|
-
|
56
|
-
|
57
|
-
runner.should_receive(:kill).with("18901") do
|
58
|
-
RSpec.reset
|
59
|
-
runner.stub(:mirage_process_ids).with([]).and_return({})
|
60
|
-
end
|
61
|
-
|
62
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
63
|
-
runner.invoke(:stop, [], options)
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'should not stop any instances when more than one is running' do
|
67
|
-
options = {:port => []}
|
68
|
-
runner = Mirage::Runner.new
|
69
|
-
runner.options = options
|
70
|
-
|
71
|
-
runner.stub(:mirage_process_ids).with([]).and_return({"7001" => "18901", "7002" => "18902", "7003" => "18903"})
|
72
|
-
runner.should_not_receive(:kill)
|
73
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
74
|
-
|
75
|
-
expect{ runner.invoke(:stop, [], options) }.to raise_error(Mirage::ClientError)
|
76
|
-
end
|
77
|
-
|
78
|
-
|
79
|
-
it 'should stop the instance running on the given port' do
|
80
|
-
options = {:port => [7001]}
|
81
|
-
runner = Mirage::Runner.new
|
82
|
-
runner.options = options
|
83
|
-
|
84
|
-
runner.should_receive(:mirage_process_ids).with([7001]).and_return({"7001" => "18901"})
|
85
|
-
runner.should_receive(:kill).with("18901") do
|
86
|
-
RSpec.reset
|
87
|
-
runner.stub(:mirage_process_ids).with([7001]).and_return({})
|
88
|
-
end
|
89
|
-
|
90
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
91
|
-
runner.invoke(:stop, [], options)
|
92
|
-
end
|
93
|
-
|
94
|
-
it 'should stop the instance running on the given ports' do
|
95
|
-
options = {:port => [7001, 7002]}
|
96
|
-
runner = Mirage::Runner.new
|
97
|
-
runner.options = options
|
98
|
-
|
99
|
-
runner.should_receive(:mirage_process_ids).with([7001, 7002]).and_return({"7001" => "18901", "7002" => "18902"})
|
100
|
-
runner.should_receive(:kill).with("18901")
|
101
|
-
runner.should_receive(:kill).with("18902") do
|
102
|
-
RSpec.reset
|
103
|
-
runner.stub(:mirage_process_ids).with([7001, 7002]).and_return({})
|
104
|
-
end
|
105
|
-
|
106
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
107
|
-
runner.invoke(:stop, [], options)
|
108
|
-
end
|
109
|
-
|
110
|
-
it 'should stop all running instances' do
|
111
|
-
options = {:port => [:all]}
|
112
|
-
runner = Mirage::Runner.new
|
113
|
-
runner.options = options
|
114
|
-
|
115
|
-
runner.should_receive(:mirage_process_ids).with([:all]).and_return({"7001" => "18901", "7002" => "18902"})
|
116
|
-
runner.should_receive(:kill).with("18901")
|
117
|
-
runner.should_receive(:kill).with("18902") do
|
118
|
-
RSpec.reset
|
119
|
-
runner.stub(:mirage_process_ids).with([:all]).and_return({})
|
120
|
-
end
|
121
|
-
|
122
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
123
|
-
runner.invoke(:stop, [], options)
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'should not error when asked to stop Mirage on a port that it is not running on' do
|
128
|
-
options = {:port => [7001]}
|
129
|
-
runner = Mirage::Runner.new
|
130
|
-
runner.options = options
|
131
|
-
runner.stub(:mirage_process_ids).with([7001]).and_return({})
|
132
|
-
|
133
|
-
Mirage::Runner.should_receive(:new).and_return(runner)
|
134
|
-
expect { runner.invoke(:stop, [], options) }.not_to raise_error
|
135
|
-
end
|
136
|
-
|
137
|
-
end
|
138
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'mirage/client'
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
describe Template::Configuration do
|
7
|
-
|
8
|
-
it 'should have defaults' do
|
9
|
-
configuration = Template::Configuration.new
|
10
|
-
assert_defaults configuration
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'should be reset' do
|
14
|
-
configuration = Template::Configuration.new
|
15
|
-
configuration.http_method :post
|
16
|
-
configuration.status 202
|
17
|
-
configuration.delay 3
|
18
|
-
configuration.default true
|
19
|
-
configuration.content_type "text/xml"
|
20
|
-
|
21
|
-
configuration.reset
|
22
|
-
assert_defaults configuration
|
23
|
-
end
|
24
|
-
|
25
|
-
def assert_defaults configuration
|
26
|
-
configuration.http_method.should == :get
|
27
|
-
configuration.status.should == 200
|
28
|
-
configuration.delay.should == 0
|
29
|
-
configuration.default.should == false
|
30
|
-
configuration.content_type.should == "text/plain"
|
31
|
-
end
|
32
|
-
end
|