http_stub 0.2.1 → 0.3.0

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/lib/http_stub.rb CHANGED
@@ -3,7 +3,9 @@ require 'bundler/setup'
3
3
  Bundler.require(:default)
4
4
 
5
5
  require 'sinatra'
6
- require 'immutable_struct'
6
+ require 'sinatra/partial'
7
+ require 'haml'
8
+ require 'sass'
7
9
  require 'net/http'
8
10
  require 'json'
9
11
 
@@ -9,7 +9,7 @@ module HttpStub
9
9
  end
10
10
 
11
11
  def register(request)
12
- @alias_registry.add(HttpStub::Models::Alias.new(request.body.read), request)
12
+ @alias_registry.add(HttpStub::Models::Alias.new(JSON.parse(request.body.read)), request)
13
13
  HttpStub::Response::SUCCESS
14
14
  end
15
15
 
@@ -8,7 +8,7 @@ module HttpStub
8
8
  end
9
9
 
10
10
  def register(request)
11
- @registry.add(HttpStub::Models::Stub.new(request.body.read), request)
11
+ @registry.add(HttpStub::Models::Stub.new(JSON.parse(request.body.read)), request)
12
12
  HttpStub::Response::SUCCESS
13
13
  end
14
14
 
@@ -3,19 +3,23 @@ module HttpStub
3
3
 
4
4
  class Alias
5
5
 
6
- def initialize(request_body)
7
- @data = JSON.parse(request_body)
8
- @stub = HttpStub::Models::Stub.new(request_body)
6
+ def initialize(options)
7
+ @alias_options = options
8
+ @stub = HttpStub::Models::Stub.new(options)
9
9
  end
10
10
 
11
11
  def satisfies?(request)
12
- @data["alias_uri"] == request.path_info
12
+ alias_uri == request.path_info
13
13
  end
14
14
 
15
15
  def the_stub
16
16
  @stub
17
17
  end
18
18
 
19
+ def alias_uri
20
+ @alias_options["alias_uri"]
21
+ end
22
+
19
23
  end
20
24
 
21
25
  end
@@ -18,6 +18,10 @@ module HttpStub
18
18
  @models.find { |model| model.satisfies?(request) }
19
19
  end
20
20
 
21
+ def all
22
+ Array.new(@models)
23
+ end
24
+
21
25
  def clear(request)
22
26
  request.logger.info "Clearing #{@model_name} registry"
23
27
  @models.clear
@@ -5,25 +5,33 @@ module HttpStub
5
5
 
6
6
  attr_reader :response
7
7
 
8
- def initialize(request_body)
9
- @data = JSON.parse(request_body)
10
- @response = HttpStub::Response.new(status: @data["response"]["status"], body: @data["response"]["body"])
8
+ def initialize(options)
9
+ @alias_options = options
10
+ @response = HttpStub::Response.new(options["response"])
11
11
  end
12
12
 
13
13
  def satisfies?(request)
14
- @data["uri"] == request.path_info &&
15
- @data["method"].downcase == request.request_method.downcase &&
14
+ uri == request.path_info &&
15
+ method.downcase == request.request_method.downcase &&
16
16
  parameters_match?(request)
17
17
  end
18
18
 
19
+ def uri
20
+ @alias_options["uri"]
21
+ end
22
+
23
+ def method
24
+ @alias_options["method"]
25
+ end
26
+
19
27
  def to_s
20
- @data.to_s
28
+ @alias_options.to_s
21
29
  end
22
30
 
23
31
  private
24
32
 
25
33
  def parameters_match?(request)
26
- parameters = @data["parameters"]
34
+ parameters = @alias_options["parameters"]
27
35
  parameters.nil? || parameters.reduce(true) do |result, parameter|
28
36
  result && (request.params[parameter[0]] == parameter[1])
29
37
  end
@@ -1,12 +1,25 @@
1
1
  module HttpStub
2
2
 
3
- class Response < ImmutableStruct.new(:status, :body)
4
- SUCCESS = HttpStub::Response.new(status: 200, body: "")
5
- ERROR = HttpStub::Response.new(status: 404, body: "")
3
+ class Response
4
+
5
+ def initialize(options = {})
6
+ @response_options = options || {}
7
+ end
8
+
9
+ SUCCESS = HttpStub::Response.new("status" => 200, "body" => "OK")
10
+ ERROR = HttpStub::Response.new("status" => 404, "body" => "ERROR")
6
11
  EMPTY = HttpStub::Response.new()
7
12
 
13
+ def status
14
+ @response_options["status"]
15
+ end
16
+
17
+ def body
18
+ @response_options["body"]
19
+ end
20
+
8
21
  def empty?
9
- self == HttpStub::Response::EMPTY
22
+ @response_options.empty?
10
23
  end
11
24
 
12
25
  end
@@ -2,7 +2,9 @@ module HttpStub
2
2
 
3
3
  class Server < ::Sinatra::Base
4
4
 
5
- enable :dump_errors, :logging
5
+ register Sinatra::Partial
6
+
7
+ enable :dump_errors, :logging, :partial_underscores
6
8
 
7
9
  def initialize
8
10
  super()
@@ -55,13 +57,29 @@ module HttpStub
55
57
  halt(response.status, response.body)
56
58
  end
57
59
 
60
+ get "/stubs/aliases" do
61
+ haml :aliases, {}, aliases: @alias_registry.all.sort_by(&:alias_uri)
62
+ end
63
+
58
64
  delete "/stubs/aliases" do
59
65
  @alias_controller.clear(request)
60
66
  halt 200
61
67
  end
62
68
 
69
+ get "/application.css" do
70
+ sass :application
71
+ end
72
+
63
73
  any_request_type(//) { handle_request }
64
74
 
75
+ helpers do
76
+
77
+ def h(text)
78
+ Rack::Utils.escape_html(text)
79
+ end
80
+
81
+ end
82
+
65
83
  private
66
84
 
67
85
  def handle_request
@@ -1,3 +1,3 @@
1
1
  module HttpStub
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -0,0 +1,13 @@
1
+ %table
2
+ %tr
3
+ %td URI:
4
+ %td=h(the_stub.uri)
5
+ %tr
6
+ %td Method:
7
+ %td=the_stub.method
8
+ %tr
9
+ %td Response Status:
10
+ %td=the_stub.response.status
11
+ %tr
12
+ %td Response Body:
13
+ %td=h(the_stub.response.body)
@@ -0,0 +1,12 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title http_stub server configuration
5
+ %link{ "rel" => "stylesheet", "href" => "/application.css", "type" => "text/css" }
6
+ %body
7
+ - aliases.each do |the_alias|
8
+ %div
9
+ %span Response Activation URI:
10
+ %a{ href: the_alias.alias_uri }= the_alias.alias_uri
11
+ = partial :stub, locals: { the_stub: the_alias.the_stub }
12
+ %br
@@ -0,0 +1,2 @@
1
+ table
2
+ :border 1px solid black
@@ -1,4 +1,4 @@
1
- describe HttpStub::Configurer do
1
+ describe HttpStub::Configurer, "when the server is running" do
2
2
  include_context "server integration"
3
3
 
4
4
  let(:configurer) { HttpStub::Examples::ConfigurerWithAlias.new }
@@ -8,7 +8,7 @@ describe HttpStub::Configurer do
8
8
  configurer.class.clear_aliases!
9
9
  end
10
10
 
11
- describe "when initialized" do
11
+ describe "and the configurer is initialized" do
12
12
 
13
13
  before(:each) { configurer.class.initialize! }
14
14
 
@@ -45,7 +45,7 @@ describe HttpStub::Configurer do
45
45
 
46
46
  end
47
47
 
48
- describe "when uninitialized" do
48
+ describe "and the configurer is uninitialized" do
49
49
 
50
50
  describe "and an attempt is made to activate a stub alias" do
51
51
 
@@ -2,26 +2,67 @@ describe HttpStub::Controllers::AliasController do
2
2
 
3
3
  let(:request_body) { "Some request body" }
4
4
  let(:request) { double("HttpRequest", body: double("RequestBody", read: request_body)) }
5
+ let(:alias_options) { double("AliasOptions") }
5
6
  let(:the_stub) { double(HttpStub::Models::Stub) }
6
- let(:stub_alias) { double(HttpStub::Models::Alias, the_stub: the_stub) }
7
+ let(:the_alias) { double(HttpStub::Models::Alias, the_stub: the_stub) }
7
8
  let(:alias_registry) { double("HttpStub::Models::AliasRegistry").as_null_object }
8
9
  let(:stub_registry) { double("HttpStub::Models::StubRegistry").as_null_object }
9
10
  let(:controller) { HttpStub::Controllers::AliasController.new(alias_registry, stub_registry) }
10
11
 
12
+ before(:each) { JSON.stub!(:parse).and_return(alias_options) }
13
+
14
+ describe "#list" do
15
+
16
+ describe "when the alias registry contains multiple aliases" do
17
+
18
+ before(:each) do
19
+ alias_registry.stub!(:all).and_return((1..3).map { |i| double("#{HttpStub::Models::Alias}#{i}") })
20
+ end
21
+
22
+ it "should return a page containing each alias" do
23
+
24
+ end
25
+
26
+ end
27
+
28
+ describe "when the alias registry contains one alias" do
29
+
30
+ it "should return a page containing the one alias" do
31
+
32
+ end
33
+
34
+ end
35
+
36
+ describe "when then alias registry is empty" do
37
+
38
+ it "should return an empty page" do
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+
11
46
  describe "#register" do
12
47
 
13
48
  before(:each) do
14
- HttpStub::Models::Alias.stub!(:new).and_return(stub_alias)
49
+ HttpStub::Models::Alias.stub!(:new).and_return(the_alias)
50
+ end
51
+
52
+ it "should parse an options hash from the JSON request body" do
53
+ JSON.should_receive(:parse).with(request_body).and_return(alias_options)
54
+
55
+ controller.register(request)
15
56
  end
16
57
 
17
- it "should create an alias from the request body" do
18
- HttpStub::Models::Alias.should_receive(:new).with(request_body).and_return(stub_alias)
58
+ it "should create an alias from the parsed options" do
59
+ HttpStub::Models::Alias.should_receive(:new).with(alias_options).and_return(the_alias)
19
60
 
20
61
  controller.register(request)
21
62
  end
22
63
 
23
64
  it "should add the created alias to the alias registry" do
24
- alias_registry.should_receive(:add).with(stub_alias, request)
65
+ alias_registry.should_receive(:add).with(the_alias, request)
25
66
 
26
67
  controller.register(request)
27
68
  end
@@ -37,7 +78,7 @@ describe HttpStub::Controllers::AliasController do
37
78
  describe "when an alias has been registered that is activated by the request" do
38
79
 
39
80
  before(:each) do
40
- alias_registry.stub!(:find_for).with(request).and_return(stub_alias)
81
+ alias_registry.stub!(:find_for).with(request).and_return(the_alias)
41
82
  end
42
83
 
43
84
  it "should add the aliases stub to the stub registry" do
@@ -1,20 +1,29 @@
1
1
  describe HttpStub::Controllers::StubController do
2
2
 
3
3
  let(:request_body) { "Some request body" }
4
+ let(:stub_options) { double("StubOptions") }
4
5
  let(:request) { double("HttpRequest", body: double("RequestBody", read: request_body)) }
5
6
  let(:response) { double(HttpStub::Response) }
6
7
  let(:the_stub) { double(HttpStub::Models::Stub, response: response) }
7
8
  let(:registry) { double(HttpStub::Models::Registry).as_null_object }
8
9
  let(:controller) { HttpStub::Controllers::StubController.new(registry) }
9
10
 
11
+ before(:each) { JSON.stub!(:parse).and_return(stub_options) }
12
+
10
13
  describe "#register" do
11
14
 
12
15
  before(:each) do
13
16
  HttpStub::Models::Stub.stub!(:new).and_return(the_stub)
14
17
  end
15
18
 
16
- it "should create a stub from the request body" do
17
- HttpStub::Models::Stub.should_receive(:new).with(request_body).and_return(the_stub)
19
+ it "should parse an options hash from the JSON request body" do
20
+ JSON.should_receive(:parse).with(request_body).and_return(stub_options)
21
+
22
+ controller.register(request)
23
+ end
24
+
25
+ it "should create a stub from the parsed options" do
26
+ HttpStub::Models::Stub.should_receive(:new).with(stub_options).and_return(the_stub)
18
27
 
19
28
  controller.register(request)
20
29
  end
@@ -1,10 +1,10 @@
1
1
  describe HttpStub::Models::Alias do
2
2
 
3
3
  let(:alias_uri) { "/some/alias/uri" }
4
- let(:alias_body) do
5
- { "alias_uri" => alias_uri }.to_json
4
+ let(:alias_options) do
5
+ { "alias_uri" => alias_uri }
6
6
  end
7
- let(:the_alias) { HttpStub::Models::Alias.new(alias_body) }
7
+ let(:the_alias) { HttpStub::Models::Alias.new(alias_options) }
8
8
 
9
9
  before(:each) { HttpStub::Models::Stub.stub!(:new).and_return(double(HttpStub::Models::Stub)) }
10
10
 
@@ -46,13 +46,21 @@ describe HttpStub::Models::Alias do
46
46
 
47
47
  describe "#the_stub" do
48
48
 
49
- it "should return a HttpStub::Models::Stub constructed from the request body" do
49
+ it "should return a HttpStub::Models::Stub constructed from the alias options" do
50
50
  stub = double(HttpStub::Models::Stub)
51
- HttpStub::Models::Stub.should_receive(:new).with(alias_body).and_return(stub)
51
+ HttpStub::Models::Stub.should_receive(:new).with(alias_options).and_return(stub)
52
52
 
53
53
  the_alias.the_stub.should eql(stub)
54
54
  end
55
55
 
56
56
  end
57
57
 
58
+ describe "#alias_uri" do
59
+
60
+ it "should return the value provided in the request body" do
61
+ the_alias.alias_uri.should eql(alias_uri)
62
+ end
63
+
64
+ end
65
+
58
66
  end
@@ -88,6 +88,34 @@ describe HttpStub::Models::Registry do
88
88
 
89
89
  end
90
90
 
91
+ describe "#all" do
92
+
93
+ describe "when multiple models have been registered" do
94
+
95
+ let(:models) do
96
+ (1..3).map { |i| double("HttpStub::Models::Model#{i}", :satisfies? => false) }
97
+ end
98
+
99
+ before(:each) do
100
+ models.each { |model| registry.add(model, request) }
101
+ end
102
+
103
+ it "should return the registered models in the order they were added" do
104
+ registry.all.should eql(models.reverse)
105
+ end
106
+
107
+ end
108
+
109
+ describe "when no model has been registered" do
110
+
111
+ it "should return an empty list" do
112
+ registry.all.should eql([])
113
+ end
114
+
115
+ end
116
+
117
+ end
118
+
91
119
  describe "#clear" do
92
120
 
93
121
  it "should log that the models are being cleared" do
@@ -3,18 +3,18 @@ describe HttpStub::Models::Stub do
3
3
  let(:stub_uri) { "/a_path" }
4
4
  let(:stub_method) { "get" }
5
5
  let(:stub_parameters) { {} }
6
- let(:stub_body) do
6
+ let(:stub_options) do
7
7
  {
8
- "uri" => stub_uri,
9
- "method" => stub_method,
10
- "parameters" => stub_parameters,
11
- "response" => {
12
- "status" => 201,
13
- "body" => "Foo"
14
- }
15
- }.to_json
8
+ "uri" => stub_uri,
9
+ "method" => stub_method,
10
+ "parameters" => stub_parameters,
11
+ "response" => {
12
+ "status" => 201,
13
+ "body" => "Foo"
14
+ }
15
+ }
16
16
  end
17
- let(:the_stub) { HttpStub::Models::Stub.new(stub_body) }
17
+ let(:the_stub) { HttpStub::Models::Stub.new(stub_options) }
18
18
 
19
19
  describe "#satisfies?" do
20
20
 
@@ -132,6 +132,22 @@ describe HttpStub::Models::Stub do
132
132
 
133
133
  end
134
134
 
135
+ describe "#uri" do
136
+
137
+ it "should return the value provided in the request body" do
138
+ the_stub.uri.should eql(stub_uri)
139
+ end
140
+
141
+ end
142
+
143
+ describe "#method" do
144
+
145
+ it "should return the value provided in the request body" do
146
+ the_stub.method.should eql(stub_method)
147
+ end
148
+
149
+ end
150
+
135
151
  describe "#response" do
136
152
 
137
153
  it "should expose the provided response status" do
@@ -1,5 +1,7 @@
1
1
  describe HttpStub::Response do
2
2
 
3
+ let(:response) { HttpStub::Response.new("status" => 202, "body" => "A response body")}
4
+
3
5
  describe "::SUCCESS" do
4
6
 
5
7
  let(:response) { HttpStub::Response::SUCCESS }
@@ -8,8 +10,8 @@ describe HttpStub::Response do
8
10
  response.status.should eql(200)
9
11
  end
10
12
 
11
- it "should have an empty body" do
12
- response.body.should eql("")
13
+ it "should have a body containing OK to visually indicate success to those interacting via a browser" do
14
+ response.body.should match(/OK/)
13
15
  end
14
16
 
15
17
  end
@@ -22,8 +24,8 @@ describe HttpStub::Response do
22
24
  response.status.should eql(404)
23
25
  end
24
26
 
25
- it "should have an empty body" do
26
- response.body.should eql("")
27
+ it "should have a body containing ERROR to visually indicate the error to those interacting via a browser" do
28
+ response.body.should match(/ERROR/)
27
29
  end
28
30
 
29
31
  end
@@ -42,6 +44,22 @@ describe HttpStub::Response do
42
44
 
43
45
  end
44
46
 
47
+ describe "#status" do
48
+
49
+ it "should return the value provided in the options" do
50
+ response.status.should eql(202)
51
+ end
52
+
53
+ end
54
+
55
+ describe "#body" do
56
+
57
+ it "should return the value provided in the options" do
58
+ response.body.should eql("A response body")
59
+ end
60
+
61
+ end
62
+
45
63
  describe "#empty?" do
46
64
 
47
65
  describe "when the response is EMPTY" do
@@ -0,0 +1,44 @@
1
+ describe HttpStub::Server, "when the server is running" do
2
+ include Rack::Utils
3
+ include_context "server integration"
4
+
5
+ let(:configurer) { HttpStub::Examples::ConfigurerWithManyAliases.new }
6
+
7
+ describe "and a configurer with multiple aliases is initialized" do
8
+
9
+ before(:all) { configurer.class.initialize! }
10
+
11
+ describe "GET #stubs/aliases" do
12
+
13
+ let(:response) { Net::HTTP.get_response("localhost", "/stubs/aliases", 8001) }
14
+ let(:response_document) { Nokogiri::HTML(response.body) }
15
+
16
+ it "should return a 200 response code" do
17
+ response.code.should eql("200")
18
+ end
19
+
20
+ it "should return response whose body contains a link to each alias in alphabetical order" do
21
+ response_document.css("a").each_with_index do |link, i|
22
+ link['href'].should eql("/alias#{i + 1}")
23
+ end
24
+ end
25
+
26
+ it "should return a response whose body contains the uri of each alias stub" do
27
+ (1..3).each { |i| response.body.should match(/#{escape_html("/path#{i}")}/) }
28
+ end
29
+
30
+ it "should return a response whose body contains the response status of each alias stub" do
31
+ (1..3).each { |i| response.body.should match(/20#{i}/) }
32
+ end
33
+
34
+ it "should return a response whose body contains the response body of each alias stub" do
35
+ response.body.should match(/Plain text body/)
36
+ response.body.should match(/#{escape_html({ "key" => "JSON body" }.to_json)}/)
37
+ response.body.should match(/#{escape_html("<html><body>HTML body</body></html>")}/)
38
+ end
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
@@ -28,7 +28,7 @@ describe HttpStub::Server do
28
28
  end
29
29
 
30
30
  it "should respond with the response provided by the controller" do
31
- stub_controller.stub!(:register).and_return(HttpStub::Response.new(status: 202, body: ""))
31
+ stub_controller.stub!(:register).and_return(HttpStub::Response.new("status" => 202, "body" => ""))
32
32
 
33
33
  issue_stub_request
34
34
 
@@ -57,7 +57,7 @@ describe HttpStub::Server do
57
57
  end
58
58
 
59
59
  it "should respond with the response provided by the controller" do
60
- alias_controller.stub!(:register).and_return(HttpStub::Response.new(status: 302, body: ""))
60
+ alias_controller.stub!(:register).and_return(HttpStub::Response.new("status" => 302, "body" => ""))
61
61
 
62
62
  issue_stub_alias_request
63
63
 
@@ -115,7 +115,7 @@ describe HttpStub::Server do
115
115
  describe "and the stub controller replays a response" do
116
116
 
117
117
  before(:each) do
118
- stub_controller.stub!(:replay).and_return(HttpStub::Response.new(status: 222, body: "Some body"))
118
+ stub_controller.stub!(:replay).and_return(HttpStub::Response.new("status" => 222, "body" => "Some body"))
119
119
  end
120
120
 
121
121
  it "should respond with the replay status code" do
@@ -141,7 +141,7 @@ describe HttpStub::Server do
141
141
  describe "but the alias controller activates a stub" do
142
142
 
143
143
  before(:each) do
144
- alias_controller.stub!(:activate).and_return(HttpStub::Response.new(status: 300, body: "A body"))
144
+ alias_controller.stub!(:activate).and_return(HttpStub::Response.new("status" => 300, "body" => "A body"))
145
145
  end
146
146
 
147
147
  it "should respond with the activation response status code" do
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,16 @@
1
- require 'cover_me'
1
+ require 'simplecov'
2
+ SimpleCov.start do
3
+ add_filter "/spec/"
4
+ minimum_coverage 96.4
5
+ refuse_coverage_drop
6
+ end if ENV["coverage"]
7
+
2
8
  require 'rack/test'
9
+ require 'nokogiri'
3
10
 
4
11
  require File.expand_path('../../lib/http_stub/start_server_rake_task', __FILE__)
5
12
  require File.expand_path('../../lib/http_stub', __FILE__)
6
13
  require File.expand_path('../../examples/configurer_with_alias', __FILE__)
14
+ require File.expand_path('../../examples/configurer_with_many_aliases', __FILE__)
7
15
 
8
16
  Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |file| require file }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_stub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-02-22 00:00:00.000000000 Z
13
+ date: 2013-02-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sinatra
@@ -29,13 +29,13 @@ dependencies:
29
29
  - !ruby/object:Gem::Version
30
30
  version: 1.3.4
31
31
  - !ruby/object:Gem::Dependency
32
- name: immutable_struct
32
+ name: sinatra-partial
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  none: false
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 1.1.0
38
+ version: 0.4.0
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,55 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 1.1.0
46
+ version: 0.4.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: haml
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 4.0.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 4.0.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: sass
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: 3.2.6
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 3.2.6
79
+ - !ruby/object:Gem::Dependency
80
+ name: rspec
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: '2.12'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: '2.12'
47
95
  - !ruby/object:Gem::Dependency
48
96
  name: rack-test
49
97
  requirement: !ruby/object:Gem::Requirement
@@ -61,13 +109,13 @@ dependencies:
61
109
  - !ruby/object:Gem::Version
62
110
  version: 0.6.2
63
111
  - !ruby/object:Gem::Dependency
64
- name: rake
112
+ name: nokogiri
65
113
  requirement: !ruby/object:Gem::Requirement
66
114
  none: false
67
115
  requirements:
68
116
  - - ~>
69
117
  - !ruby/object:Gem::Version
70
- version: 10.0.3
118
+ version: 1.5.6
71
119
  type: :development
72
120
  prerelease: false
73
121
  version_requirements: !ruby/object:Gem::Requirement
@@ -75,15 +123,15 @@ dependencies:
75
123
  requirements:
76
124
  - - ~>
77
125
  - !ruby/object:Gem::Version
78
- version: 10.0.3
126
+ version: 1.5.6
79
127
  - !ruby/object:Gem::Dependency
80
- name: rspec
128
+ name: rake
81
129
  requirement: !ruby/object:Gem::Requirement
82
130
  none: false
83
131
  requirements:
84
132
  - - ~>
85
133
  - !ruby/object:Gem::Version
86
- version: '2.12'
134
+ version: 10.0.3
87
135
  type: :development
88
136
  prerelease: false
89
137
  version_requirements: !ruby/object:Gem::Requirement
@@ -91,15 +139,15 @@ dependencies:
91
139
  requirements:
92
140
  - - ~>
93
141
  - !ruby/object:Gem::Version
94
- version: '2.12'
142
+ version: 10.0.3
95
143
  - !ruby/object:Gem::Dependency
96
- name: cover_me
144
+ name: simplecov
97
145
  requirement: !ruby/object:Gem::Requirement
98
146
  none: false
99
147
  requirements:
100
148
  - - ~>
101
149
  - !ruby/object:Gem::Version
102
- version: 1.2.0
150
+ version: 0.7.1
103
151
  type: :development
104
152
  prerelease: false
105
153
  version_requirements: !ruby/object:Gem::Requirement
@@ -107,7 +155,7 @@ dependencies:
107
155
  requirements:
108
156
  - - ~>
109
157
  - !ruby/object:Gem::Version
110
- version: 1.2.0
158
+ version: 0.7.1
111
159
  - !ruby/object:Gem::Dependency
112
160
  name: flog
113
161
  requirement: !ruby/object:Gem::Requirement
@@ -157,6 +205,9 @@ files:
157
205
  - ./lib/http_stub/server.rb
158
206
  - ./lib/http_stub/start_server_rake_task.rb
159
207
  - ./lib/http_stub/version.rb
208
+ - ./lib/http_stub/views/_stub.haml
209
+ - ./lib/http_stub/views/aliases.haml
210
+ - ./lib/http_stub/views/application.sass
160
211
  - ./lib/http_stub.rb
161
212
  - ./spec/curl_samples.txt
162
213
  - ./spec/lib/http_stub/configurer_integration_spec.rb
@@ -166,6 +217,7 @@ files:
166
217
  - ./spec/lib/http_stub/models/registry_spec.rb
167
218
  - ./spec/lib/http_stub/models/stub_spec.rb
168
219
  - ./spec/lib/http_stub/response_spec.rb
220
+ - ./spec/lib/http_stub/server_integration_spec.rb
169
221
  - ./spec/lib/http_stub/server_spec.rb
170
222
  - ./spec/lib/http_stub/start_server_rake_task_integration_spec.rb
171
223
  - ./spec/spec_helper.rb
@@ -191,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
243
  version: '0'
192
244
  segments:
193
245
  - 0
194
- hash: -1031332495644956129
246
+ hash: 3062143665725502315
195
247
  requirements: []
196
248
  rubyforge_project: http_stub
197
249
  rubygems_version: 1.8.25
@@ -207,6 +259,7 @@ test_files:
207
259
  - ./spec/lib/http_stub/models/registry_spec.rb
208
260
  - ./spec/lib/http_stub/models/stub_spec.rb
209
261
  - ./spec/lib/http_stub/response_spec.rb
262
+ - ./spec/lib/http_stub/server_integration_spec.rb
210
263
  - ./spec/lib/http_stub/server_spec.rb
211
264
  - ./spec/lib/http_stub/start_server_rake_task_integration_spec.rb
212
265
  - ./spec/spec_helper.rb