mirage 2.4.1 → 2.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/Gemfile.lock +3 -4
- data/HISTORY +1 -0
- data/README.md +3 -0
- data/VERSION +1 -1
- data/lib/mirage/client/cli_bridge.rb +2 -4
- data/lib/mirage/client/client.rb +19 -3
- data/lib/mirage/client/runner.rb +16 -30
- data/mirage.gemspec +3 -5
- data/spec/client_spec.rb +38 -0
- data/spec/runner_spec.rb +15 -7
- metadata +30 -40
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -16,9 +16,9 @@ GEM
|
|
16
16
|
diff-lcs (1.1.3)
|
17
17
|
domain_name (0.5.1)
|
18
18
|
unf (~> 0.0.3)
|
19
|
-
eventmachine (1.0.0
|
20
|
-
eventmachine (1.0.0
|
21
|
-
eventmachine (1.0.0
|
19
|
+
eventmachine (1.0.0)
|
20
|
+
eventmachine (1.0.0-java)
|
21
|
+
eventmachine (1.0.0-x86-mingw32)
|
22
22
|
ffi (1.0.11)
|
23
23
|
ffi (1.0.11-java)
|
24
24
|
gherkin (2.7.2)
|
@@ -97,7 +97,6 @@ PLATFORMS
|
|
97
97
|
DEPENDENCIES
|
98
98
|
childprocess
|
99
99
|
cucumber
|
100
|
-
eventmachine (= 1.0.0.rc.4)
|
101
100
|
jeweler
|
102
101
|
jruby-openssl
|
103
102
|
mechanize
|
data/HISTORY
CHANGED
data/README.md
CHANGED
@@ -20,6 +20,7 @@ What's New?
|
|
20
20
|
-----------
|
21
21
|
### 2.4.0
|
22
22
|
---------
|
23
|
+
#### What do I get?
|
23
24
|
##### 1: Configure your client with defaults for each of your responses
|
24
25
|
Remove the repetition of setting things like the content-type each to time you put a response on to Mirage
|
25
26
|
|
@@ -31,6 +32,8 @@ Remove the repetition of setting things like the content-type each to time you p
|
|
31
32
|
end
|
32
33
|
|
33
34
|
client.put("greeting", "hello") -> template put on to Mirage with a delay of 0.5 seconds and content-type text/xml configured
|
35
|
+
#### What do I have to do to upgrade?
|
36
|
+
Nothing, this is a new feature. Let me know if you have any problems :)
|
34
37
|
|
35
38
|
|
36
39
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.4.
|
1
|
+
2.4.2
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Mirage
|
2
2
|
module CLIBridge
|
3
|
-
def mirage_process_ids
|
4
|
-
ports.flatten!
|
3
|
+
def mirage_process_ids ports
|
5
4
|
mirage_instances = {}
|
6
5
|
["Mirage Server", "mirage_server", "mirage server"].each do |process_name|
|
7
6
|
processes_with_name(process_name).lines.collect { |line| line.chomp }.each do |process_line|
|
@@ -11,7 +10,7 @@ module CLIBridge
|
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
14
|
-
return mirage_instances if ports.first.to_s
|
13
|
+
return mirage_instances if ports.first.to_s == "all" || ports.empty?
|
15
14
|
Hash[mirage_instances.find_all { |port, pid| ports.include?(port.to_i) }]
|
16
15
|
end
|
17
16
|
|
@@ -21,7 +20,6 @@ module CLIBridge
|
|
21
20
|
|
22
21
|
def processes_with_name name
|
23
22
|
if ChildProcess.windows?
|
24
|
-
|
25
23
|
`tasklist /V | findstr "#{name.gsub(" ", '\\ ')}"`
|
26
24
|
else
|
27
25
|
IO.popen("ps aux | grep '#{name}' | grep -v grep | grep -v #{$$}")
|
data/lib/mirage/client/client.rb
CHANGED
@@ -10,10 +10,22 @@ module Mirage
|
|
10
10
|
#
|
11
11
|
# Client.new => a client that is configured to connect to Mirage on http://localhost:7001/mirage (the default settings for Mirage)
|
12
12
|
# Client.new(URL) => a client that is configured to connect to an instance of Mirage running on the specified url.
|
13
|
+
# Client.new(hash) => a client that is configured to connect to an instance of Mirage running on the specified url or localhost port.
|
14
|
+
# e.g: Client.new(:url => url) or Client.new(:port => port)
|
13
15
|
#
|
14
16
|
# a block can be passed to configure the client with defaults: see configure
|
15
|
-
def initialize url
|
16
|
-
|
17
|
+
def initialize options={:url => "http://localhost:7001/mirage"}, &block
|
18
|
+
if options.is_a?(String) && options =~ URI.regexp
|
19
|
+
warn("Client.new(url): Deprecated usage, please use :url => url | :port => port")
|
20
|
+
@url = options
|
21
|
+
elsif options.kind_of?(Hash) && options[:port]
|
22
|
+
@url = "http://localhost:#{options[:port]}/mirage"
|
23
|
+
elsif options.kind_of?(Hash) && options[:url]
|
24
|
+
@url = options[:url]
|
25
|
+
else
|
26
|
+
raise "specify a valid URL or port"
|
27
|
+
end
|
28
|
+
|
17
29
|
reset
|
18
30
|
configure &block if block_given?
|
19
31
|
end
|
@@ -57,7 +69,7 @@ module Mirage
|
|
57
69
|
# end
|
58
70
|
def put endpoint, response_value, &block
|
59
71
|
response = Mirage::Response.new response_value
|
60
|
-
@defaults.each_pair{|key, value|response.send("#{key}=", value) if value}
|
72
|
+
@defaults.each_pair { |key, value| response.send("#{key}=", value) if value }
|
61
73
|
yield response if block_given?
|
62
74
|
|
63
75
|
build_response(http_put("#{@url}/templates/#{endpoint}", response.value, response.headers))
|
@@ -135,6 +147,10 @@ module Mirage
|
|
135
147
|
build_response(http_put("#{@url}/defaults", ''))
|
136
148
|
end
|
137
149
|
|
150
|
+
def == client
|
151
|
+
client.is_a?(Client) && @url == client.url
|
152
|
+
end
|
153
|
+
|
138
154
|
private
|
139
155
|
def build_response response
|
140
156
|
case response.code.to_i
|
data/lib/mirage/client/runner.rb
CHANGED
@@ -12,6 +12,7 @@ module Mirage
|
|
12
12
|
# Mirage.start :port => 9001 -> Configured MirageClient ready to use.
|
13
13
|
def start options={:port => 7001}
|
14
14
|
Runner.new.invoke(:start, [], options)
|
15
|
+
Mirage::Client.new(options)
|
15
16
|
end
|
16
17
|
|
17
18
|
# Stop locally running instance(s) of Mirage
|
@@ -20,7 +21,7 @@ module Mirage
|
|
20
21
|
# Mirage.stop -> Will stop mirage if there is only instance running. Can be running on any port.
|
21
22
|
# Mirage.stop :port => port -> stop mirage on a given port
|
22
23
|
# Mirage.stop :port => [port1, port2...] -> stops multiple running instances of Mirage
|
23
|
-
def stop options={}
|
24
|
+
def stop options={:port => []}
|
24
25
|
options = {:port => :all} if options == :all
|
25
26
|
|
26
27
|
if options[:port]
|
@@ -40,7 +41,7 @@ module Mirage
|
|
40
41
|
# Mirage.running? :port => port -> boolean indicating whether Mirage is running on *locally* on the given port
|
41
42
|
# Mirage.running? url -> boolean indicating whether Mirage is running on the given URL
|
42
43
|
def running? options_or_url = {:port => 7001}
|
43
|
-
url = options_or_url.
|
44
|
+
url = options_or_url.kind_of?(Hash) ? "http://localhost:#{options_or_url[:port]}/mirage" : options_or_url
|
44
45
|
http_get(url) and return true
|
45
46
|
rescue Errno::ECONNREFUSED
|
46
47
|
return false
|
@@ -59,15 +60,17 @@ module Mirage
|
|
59
60
|
method_option :debug, :type => :boolean, :default => false, :desc => "run in debug mode"
|
60
61
|
|
61
62
|
def start
|
62
|
-
|
63
|
-
|
63
|
+
port = options[:port]
|
64
|
+
process_ids = mirage_process_ids([port])
|
65
|
+
unless process_ids.empty?
|
66
|
+
warn "Mirage is already running: #{process_ids.values.join(",")}"
|
64
67
|
return
|
65
68
|
end
|
66
69
|
|
67
70
|
mirage_server_file = "#{File.dirname(__FILE__)}/../../../mirage_server.rb"
|
68
71
|
|
69
72
|
if ChildProcess.windows?
|
70
|
-
command = ["cmd", "/C", "start", "mirage server port #{
|
73
|
+
command = ["cmd", "/C", "start", "mirage server port #{port}", RUBY_CMD, mirage_server_file]
|
71
74
|
else
|
72
75
|
command = [RUBY_CMD, mirage_server_file]
|
73
76
|
end
|
@@ -76,41 +79,24 @@ module Mirage
|
|
76
79
|
command = command.concat(options.to_a).flatten.collect { |arg| arg.to_s }
|
77
80
|
ChildProcess.build(*command).start
|
78
81
|
|
79
|
-
|
80
|
-
wait_until(:timeout_after => 30.seconds) { mirage_client.running? }
|
82
|
+
wait_until(:timeout_after => 30.seconds) { Mirage.running?(options) }
|
81
83
|
|
82
84
|
begin
|
83
|
-
|
85
|
+
Mirage::Client.new(options).prime
|
84
86
|
rescue Mirage::InternalServerException => e
|
85
87
|
puts "WARN: #{e.message}"
|
86
88
|
end
|
87
|
-
mirage_client
|
88
89
|
end
|
89
90
|
|
90
91
|
desc "stop", "Stops mirage"
|
91
|
-
method_option :port, :aliases => "-p", :type => :array, :banner => "[port_1 port_2|all]", :desc => "port(s) of mirage instance(s). ALL stops all running instances"
|
92
|
+
method_option :port, :aliases => "-p", :type => :array, :default => [], :banner => "[port_1 port_2|all]", :desc => "port(s) of mirage instance(s). ALL stops all running instances"
|
92
93
|
|
93
94
|
def stop
|
94
|
-
ports = options[:port]
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
ports = case ports
|
101
|
-
when %w(all), [:all], []
|
102
|
-
[:all]
|
103
|
-
else
|
104
|
-
ports.collect { |port| port.to_i }
|
105
|
-
end
|
106
|
-
|
107
|
-
mirage_process_ids(ports).values.each do |process_id|
|
108
|
-
kill process_id
|
109
|
-
end
|
110
|
-
|
111
|
-
wait_until do
|
112
|
-
mirage_process_ids(ports).empty?
|
113
|
-
end
|
95
|
+
ports = options[:port].collect{|port| port=~/\d+/ ? port.to_i : port}
|
96
|
+
process_ids = mirage_process_ids(ports)
|
97
|
+
raise ClientError.new("Mirage is running on ports #{process_ids.keys.sort.join(", ")}. Please run mirage stop -p [PORT(s)] instead") if (process_ids.size > 1 && ports.empty?)
|
98
|
+
process_ids.values.each { |process_id| kill process_id }
|
99
|
+
wait_until { mirage_process_ids(options[:port]).empty? }
|
114
100
|
end
|
115
101
|
|
116
102
|
end
|
data/mirage.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "mirage"
|
8
|
-
s.version = "2.4.
|
8
|
+
s.version = "2.4.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Leon Davis"]
|
12
|
-
s.date = "2012-09-
|
12
|
+
s.date = "2012-09-20"
|
13
13
|
s.description = "Mirage aids testing of your applications by hosting mock responses so that your applications do not have to talk to real endpoints. Its accessible via HTTP and has a RESTful interface."
|
14
14
|
s.executables = ["mirage"]
|
15
15
|
s.extra_rdoc_files = [
|
@@ -69,6 +69,7 @@ Gem::Specification.new do |s|
|
|
69
69
|
"server/extensions/object.rb",
|
70
70
|
"server/mock_response.rb",
|
71
71
|
"spec/cli_bridge_spec.rb",
|
72
|
+
"spec/client_spec.rb",
|
72
73
|
"spec/runner_spec.rb",
|
73
74
|
"spec/spec_helper.rb",
|
74
75
|
"test.rb",
|
@@ -86,7 +87,6 @@ Gem::Specification.new do |s|
|
|
86
87
|
|
87
88
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
88
89
|
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
89
|
-
s.add_runtime_dependency(%q<eventmachine>, ["= 1.0.0.rc.4"])
|
90
90
|
s.add_runtime_dependency(%q<childprocess>, [">= 0"])
|
91
91
|
s.add_runtime_dependency(%q<waitforit>, [">= 0"])
|
92
92
|
s.add_runtime_dependency(%q<thor>, [">= 0"])
|
@@ -101,7 +101,6 @@ Gem::Specification.new do |s|
|
|
101
101
|
s.add_development_dependency(%q<jruby-openssl>, [">= 0"])
|
102
102
|
else
|
103
103
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
104
|
-
s.add_dependency(%q<eventmachine>, ["= 1.0.0.rc.4"])
|
105
104
|
s.add_dependency(%q<childprocess>, [">= 0"])
|
106
105
|
s.add_dependency(%q<waitforit>, [">= 0"])
|
107
106
|
s.add_dependency(%q<thor>, [">= 0"])
|
@@ -117,7 +116,6 @@ Gem::Specification.new do |s|
|
|
117
116
|
end
|
118
117
|
else
|
119
118
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
120
|
-
s.add_dependency(%q<eventmachine>, ["= 1.0.0.rc.4"])
|
121
119
|
s.add_dependency(%q<childprocess>, [">= 0"])
|
122
120
|
s.add_dependency(%q<waitforit>, [">= 0"])
|
123
121
|
s.add_dependency(%q<thor>, [">= 0"])
|
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'mirage/client'
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
describe Mirage::Client do
|
7
|
+
include Mirage
|
8
|
+
|
9
|
+
before :each do
|
10
|
+
@response = mock('response').as_null_object
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
it 'is configured to connect to local host port 7001 by default' do
|
15
|
+
client = Client.new
|
16
|
+
client.should_receive(:http_put).with(/localhost:7001/, anything, anything).and_return(@response)
|
17
|
+
client.put "greeting", "hello"
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'can be configured with a url pointing to Mirage' do
|
21
|
+
url = "http://url.for.mirage"
|
22
|
+
client = Client.new url
|
23
|
+
client.should_receive(:http_put).with(/#{url}/, anything, anything).and_return(@response)
|
24
|
+
client.put "greeting", "hello"
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'can be configured with a port refering to which port Mirage is running on on localhost' do
|
28
|
+
port = 9001
|
29
|
+
client = Client.new :port => port
|
30
|
+
client.should_receive(:http_put).with(/localhost:#{port}/, anything, anything).and_return(@response)
|
31
|
+
client.put "greeting", "hello"
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'raises an error if neither a port or url specified in the argument' do
|
35
|
+
expect{Client.new({})}.should raise_error()
|
36
|
+
expect{Client.new("rubbish")}.should raise_error()
|
37
|
+
end
|
38
|
+
end
|
data/spec/runner_spec.rb
CHANGED
@@ -13,7 +13,8 @@ describe Mirage do
|
|
13
13
|
|
14
14
|
it 'should start Mirage on port 7001 by default' do
|
15
15
|
@runner.should_receive(:invoke).with(:start, [], {:port => 7001})
|
16
|
-
Mirage.start
|
16
|
+
client = Mirage.start
|
17
|
+
client.should == Mirage::Client.new
|
17
18
|
end
|
18
19
|
|
19
20
|
it 'should start mirage on the given port' do
|
@@ -47,24 +48,31 @@ describe Mirage do
|
|
47
48
|
|
48
49
|
describe Mirage::Runner do
|
49
50
|
it 'should stop the running instance of Mirage' do
|
50
|
-
|
51
|
+
options = {:port => []}
|
51
52
|
runner = Mirage::Runner.new
|
52
|
-
runner.
|
53
|
+
runner.options = options
|
54
|
+
|
55
|
+
runner.should_receive(:mirage_process_ids).with([]).any_number_of_times.and_return({"7001" => "18901"})
|
53
56
|
|
54
57
|
runner.should_receive(:kill).with("18901") do
|
55
58
|
runner.rspec_reset
|
56
|
-
runner.should_receive(:mirage_process_ids).with([
|
59
|
+
runner.should_receive(:mirage_process_ids).with([]).any_number_of_times.and_return({})
|
57
60
|
end
|
58
61
|
|
59
|
-
runner
|
62
|
+
Mirage::Runner.should_receive(:new).and_return(runner)
|
63
|
+
runner.invoke(:stop, [], options)
|
60
64
|
end
|
61
65
|
|
62
66
|
it 'should not stop any instances when more than one is running' do
|
67
|
+
options = {:port => []}
|
63
68
|
runner = Mirage::Runner.new
|
64
|
-
runner.
|
69
|
+
runner.options = options
|
70
|
+
|
71
|
+
runner.should_receive(:mirage_process_ids).with([]).any_number_of_times.and_return({"7001" => "18901", "7002" => "18902", "7003" => "18903"})
|
65
72
|
runner.should_not_receive(:kill)
|
73
|
+
Mirage::Runner.should_receive(:new).and_return(runner)
|
66
74
|
|
67
|
-
lambda { runner.stop }.should raise_error(Mirage::ClientError)
|
75
|
+
lambda { runner.invoke(:stop, [], options) }.should raise_error(Mirage::ClientError)
|
68
76
|
end
|
69
77
|
|
70
78
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mirage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-20 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
16
|
-
requirement: &
|
16
|
+
requirement: &25392540 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,21 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: eventmachine
|
27
|
-
requirement: &17770580 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - =
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.0.0.rc.4
|
33
|
-
type: :runtime
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *17770580
|
24
|
+
version_requirements: *25392540
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: childprocess
|
38
|
-
requirement: &
|
27
|
+
requirement: &25391440 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
30
|
- - ! '>='
|
@@ -43,10 +32,10 @@ dependencies:
|
|
43
32
|
version: '0'
|
44
33
|
type: :runtime
|
45
34
|
prerelease: false
|
46
|
-
version_requirements: *
|
35
|
+
version_requirements: *25391440
|
47
36
|
- !ruby/object:Gem::Dependency
|
48
37
|
name: waitforit
|
49
|
-
requirement: &
|
38
|
+
requirement: &25390580 !ruby/object:Gem::Requirement
|
50
39
|
none: false
|
51
40
|
requirements:
|
52
41
|
- - ! '>='
|
@@ -54,10 +43,10 @@ dependencies:
|
|
54
43
|
version: '0'
|
55
44
|
type: :runtime
|
56
45
|
prerelease: false
|
57
|
-
version_requirements: *
|
46
|
+
version_requirements: *25390580
|
58
47
|
- !ruby/object:Gem::Dependency
|
59
48
|
name: thor
|
60
|
-
requirement: &
|
49
|
+
requirement: &25389580 !ruby/object:Gem::Requirement
|
61
50
|
none: false
|
62
51
|
requirements:
|
63
52
|
- - ! '>='
|
@@ -65,10 +54,10 @@ dependencies:
|
|
65
54
|
version: '0'
|
66
55
|
type: :runtime
|
67
56
|
prerelease: false
|
68
|
-
version_requirements: *
|
57
|
+
version_requirements: *25389580
|
69
58
|
- !ruby/object:Gem::Dependency
|
70
59
|
name: thin
|
71
|
-
requirement: &
|
60
|
+
requirement: &25384880 !ruby/object:Gem::Requirement
|
72
61
|
none: false
|
73
62
|
requirements:
|
74
63
|
- - ! '>='
|
@@ -76,10 +65,10 @@ dependencies:
|
|
76
65
|
version: '0'
|
77
66
|
type: :development
|
78
67
|
prerelease: false
|
79
|
-
version_requirements: *
|
68
|
+
version_requirements: *25384880
|
80
69
|
- !ruby/object:Gem::Dependency
|
81
70
|
name: rake
|
82
|
-
requirement: &
|
71
|
+
requirement: &25383820 !ruby/object:Gem::Requirement
|
83
72
|
none: false
|
84
73
|
requirements:
|
85
74
|
- - ! '>='
|
@@ -87,10 +76,10 @@ dependencies:
|
|
87
76
|
version: '0'
|
88
77
|
type: :development
|
89
78
|
prerelease: false
|
90
|
-
version_requirements: *
|
79
|
+
version_requirements: *25383820
|
91
80
|
- !ruby/object:Gem::Dependency
|
92
81
|
name: cucumber
|
93
|
-
requirement: &
|
82
|
+
requirement: &25382520 !ruby/object:Gem::Requirement
|
94
83
|
none: false
|
95
84
|
requirements:
|
96
85
|
- - ! '>='
|
@@ -98,10 +87,10 @@ dependencies:
|
|
98
87
|
version: '0'
|
99
88
|
type: :development
|
100
89
|
prerelease: false
|
101
|
-
version_requirements: *
|
90
|
+
version_requirements: *25382520
|
102
91
|
- !ruby/object:Gem::Dependency
|
103
92
|
name: rspec
|
104
|
-
requirement: &
|
93
|
+
requirement: &25381620 !ruby/object:Gem::Requirement
|
105
94
|
none: false
|
106
95
|
requirements:
|
107
96
|
- - ! '>='
|
@@ -109,10 +98,10 @@ dependencies:
|
|
109
98
|
version: '0'
|
110
99
|
type: :development
|
111
100
|
prerelease: false
|
112
|
-
version_requirements: *
|
101
|
+
version_requirements: *25381620
|
113
102
|
- !ruby/object:Gem::Dependency
|
114
103
|
name: jeweler
|
115
|
-
requirement: &
|
104
|
+
requirement: &25380220 !ruby/object:Gem::Requirement
|
116
105
|
none: false
|
117
106
|
requirements:
|
118
107
|
- - ! '>='
|
@@ -120,10 +109,10 @@ dependencies:
|
|
120
109
|
version: '0'
|
121
110
|
type: :development
|
122
111
|
prerelease: false
|
123
|
-
version_requirements: *
|
112
|
+
version_requirements: *25380220
|
124
113
|
- !ruby/object:Gem::Dependency
|
125
114
|
name: sinatra-contrib
|
126
|
-
requirement: &
|
115
|
+
requirement: &25379320 !ruby/object:Gem::Requirement
|
127
116
|
none: false
|
128
117
|
requirements:
|
129
118
|
- - ! '>='
|
@@ -131,10 +120,10 @@ dependencies:
|
|
131
120
|
version: '0'
|
132
121
|
type: :development
|
133
122
|
prerelease: false
|
134
|
-
version_requirements: *
|
123
|
+
version_requirements: *25379320
|
135
124
|
- !ruby/object:Gem::Dependency
|
136
125
|
name: mechanize
|
137
|
-
requirement: &
|
126
|
+
requirement: &25378420 !ruby/object:Gem::Requirement
|
138
127
|
none: false
|
139
128
|
requirements:
|
140
129
|
- - ! '>='
|
@@ -142,10 +131,10 @@ dependencies:
|
|
142
131
|
version: '0'
|
143
132
|
type: :development
|
144
133
|
prerelease: false
|
145
|
-
version_requirements: *
|
134
|
+
version_requirements: *25378420
|
146
135
|
- !ruby/object:Gem::Dependency
|
147
136
|
name: nokogiri
|
148
|
-
requirement: &
|
137
|
+
requirement: &25377700 !ruby/object:Gem::Requirement
|
149
138
|
none: false
|
150
139
|
requirements:
|
151
140
|
- - ! '>='
|
@@ -153,10 +142,10 @@ dependencies:
|
|
153
142
|
version: '0'
|
154
143
|
type: :development
|
155
144
|
prerelease: false
|
156
|
-
version_requirements: *
|
145
|
+
version_requirements: *25377700
|
157
146
|
- !ruby/object:Gem::Dependency
|
158
147
|
name: jruby-openssl
|
159
|
-
requirement: &
|
148
|
+
requirement: &25375700 !ruby/object:Gem::Requirement
|
160
149
|
none: false
|
161
150
|
requirements:
|
162
151
|
- - ! '>='
|
@@ -164,7 +153,7 @@ dependencies:
|
|
164
153
|
version: '0'
|
165
154
|
type: :development
|
166
155
|
prerelease: false
|
167
|
-
version_requirements: *
|
156
|
+
version_requirements: *25375700
|
168
157
|
description: Mirage aids testing of your applications by hosting mock responses so
|
169
158
|
that your applications do not have to talk to real endpoints. Its accessible via
|
170
159
|
HTTP and has a RESTful interface.
|
@@ -228,6 +217,7 @@ files:
|
|
228
217
|
- server/extensions/object.rb
|
229
218
|
- server/mock_response.rb
|
230
219
|
- spec/cli_bridge_spec.rb
|
220
|
+
- spec/client_spec.rb
|
231
221
|
- spec/runner_spec.rb
|
232
222
|
- spec/spec_helper.rb
|
233
223
|
- test.rb
|
@@ -249,7 +239,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
249
239
|
version: '0'
|
250
240
|
segments:
|
251
241
|
- 0
|
252
|
-
hash: -
|
242
|
+
hash: -1894067030623386639
|
253
243
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
254
244
|
none: false
|
255
245
|
requirements:
|