http_stub 0.5.4 → 0.5.5

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.
@@ -0,0 +1,24 @@
1
+ module HttpStub
2
+ module Configurer
3
+
4
+ class BufferedCommandProcessor
5
+
6
+ def initialize
7
+ @buffer = []
8
+ end
9
+
10
+ def process(command)
11
+ @buffer << command
12
+ end
13
+
14
+ def flush
15
+ until @buffer.empty?
16
+ command = @buffer.shift
17
+ command.execute()
18
+ end
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,21 @@
1
+ module HttpStub
2
+ module Configurer
3
+
4
+ class Command
5
+
6
+ def initialize(host, port, request, description)
7
+ @host = host
8
+ @port = port
9
+ @request = request
10
+ @description = description
11
+ end
12
+
13
+ def execute
14
+ response = Net::HTTP.new(@host, @port).start { |http| http.request(@request) }
15
+ raise "Error occurred #{@description}: #{response.message}" unless response.code == "200"
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ module HttpStub
2
+ module Configurer
3
+
4
+ class ImmediateCommandProcessor
5
+
6
+ def process(command)
7
+ command.execute()
8
+ end
9
+
10
+ def flush
11
+ # Intentionally blank
12
+ end
13
+
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module HttpStub
2
+ module Configurer
3
+
4
+ class StubActivatorRequest < Net::HTTP::Post
5
+
6
+ def initialize(activation_uri, stub_uri, options)
7
+ super("/stubs/activators")
8
+ stub_request = HttpStub::Configurer::StubRequest.new(stub_uri, options)
9
+ self.content_type = stub_request.content_type
10
+ self.body = JSON.parse(stub_request.body).merge({ "activation_uri" => activation_uri }).to_json
11
+ end
12
+
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ module HttpStub
2
+ module Configurer
3
+
4
+ class StubRequest < Net::HTTP::Post
5
+
6
+ def initialize(uri, options)
7
+ super("/stubs")
8
+ self.content_type = "application/json"
9
+ self.body = {
10
+ "uri" => uri,
11
+ "method" => options[:method],
12
+ "headers" => options[:headers] || {},
13
+ "parameters" => options[:parameters] || {},
14
+ "response" => {
15
+ "status" => options[:response][:status] || 200,
16
+ "body" => options[:response][:body]
17
+ }
18
+ }.to_json
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+ end
@@ -18,37 +18,12 @@ module HttpStub
18
18
  end
19
19
 
20
20
  def stub_activator(activation_uri, stub_uri, options)
21
- response_options = options[:response]
22
- request = Net::HTTP::Post.new("/stubs/activators")
23
- request.content_type = "application/json"
24
- request.body = {
25
- "activation_uri" => activation_uri,
26
- "uri" => stub_uri,
27
- "method" => options[:method],
28
- "headers" => options[:headers] || {},
29
- "parameters" => options[:parameters] || {},
30
- "response" => {
31
- "status" => response_options[:status] || "200",
32
- "body" => response_options[:body]
33
- }
34
- }.to_json
21
+ request = HttpStub::Configurer::StubActivatorRequest.new(activation_uri, stub_uri, options)
35
22
  handle(request, "registering activator '#{activation_uri}'")
36
23
  end
37
24
 
38
25
  def stub!(uri, options)
39
- response_options = options[:response]
40
- request = Net::HTTP::Post.new("/stubs")
41
- request.content_type = "application/json"
42
- request.body = {
43
- "uri" => uri,
44
- "method" => options[:method],
45
- "headers" => options[:headers] || {},
46
- "parameters" => options[:parameters] || {},
47
- "response" => {
48
- "status" => response_options[:status] || "200",
49
- "body" => response_options[:body]
50
- }
51
- }.to_json
26
+ request = HttpStub::Configurer::StubRequest.new(uri, options)
52
27
  handle(request, "stubbing '#{uri}'")
53
28
  end
54
29
 
@@ -61,8 +36,8 @@ module HttpStub
61
36
  alias_method :activate_stub!, :activate!
62
37
 
63
38
  def initialize!
64
- pending_requests.each { |request| request.submit() }
65
- @initialized = true
39
+ processor.flush
40
+ @processor = HttpStub::Configurer::ImmediateCommandProcessor.new
66
41
  end
67
42
 
68
43
  def clear_activators!
@@ -77,17 +52,12 @@ module HttpStub
77
52
 
78
53
  private
79
54
 
80
- def handle(http_request, description)
81
- request = HttpStub::ConfigurerRequest.new(@host, @port, http_request, description)
82
- initialized? ? request.submit() : pending_requests << request
55
+ def handle(request, description)
56
+ processor.process(HttpStub::Configurer::Command.new(@host, @port, request, description))
83
57
  end
84
58
 
85
- def pending_requests
86
- @activator_requests ||= []
87
- end
88
-
89
- def initialized?
90
- @initialized ||= false
59
+ def processor
60
+ @processor ||= HttpStub::Configurer::BufferedCommandProcessor.new
91
61
  end
92
62
 
93
63
  end
@@ -1,3 +1,3 @@
1
1
  module HttpStub
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
data/lib/http_stub.rb CHANGED
@@ -20,5 +20,9 @@ require File.expand_path('../http_stub/models/registry', __FILE__)
20
20
  require File.expand_path('../http_stub/controllers/stub_controller', __FILE__)
21
21
  require File.expand_path('../http_stub/controllers/stub_activator_controller', __FILE__)
22
22
  require File.expand_path('../http_stub/server', __FILE__)
23
- require File.expand_path('../http_stub/configurer_request', __FILE__)
23
+ require File.expand_path('../http_stub/configurer/stub_request', __FILE__)
24
+ require File.expand_path('../http_stub/configurer/stub_activator_request', __FILE__)
25
+ require File.expand_path('../http_stub/configurer/command', __FILE__)
26
+ require File.expand_path('../http_stub/configurer/buffered_command_processor', __FILE__)
27
+ require File.expand_path('../http_stub/configurer/immediate_command_processor', __FILE__)
24
28
  require File.expand_path('../http_stub/configurer', __FILE__)
@@ -0,0 +1,47 @@
1
+ describe HttpStub::Configurer::BufferedCommandProcessor do
2
+
3
+ let(:processor) { HttpStub::Configurer::BufferedCommandProcessor.new }
4
+
5
+ describe "#flush" do
6
+
7
+ describe "when a number of commands have been processed" do
8
+
9
+ let(:commands) do
10
+ (1..3).map { |i| double("Command#{i}").as_null_object }
11
+ end
12
+
13
+ before(:each) do
14
+ commands.each { |command| processor.process(command) }
15
+ end
16
+
17
+ it "should execute the buffered commands" do
18
+ commands.each { |command| command.should_receive(:execute) }
19
+
20
+ processor.flush()
21
+ end
22
+
23
+ describe "and those commands have already been flushed" do
24
+
25
+ before(:each) { processor.flush() }
26
+
27
+ it "should not re-execute those commands" do
28
+ commands.each { |command| command.should_not_receive(:execute) }
29
+
30
+ processor.flush()
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ describe "when no commands have been processed" do
38
+
39
+ it "should execute without error" do
40
+ lambda { processor.flush() }.should_not raise_error
41
+ end
42
+
43
+ end
44
+
45
+ end
46
+
47
+ end
@@ -0,0 +1,30 @@
1
+ describe HttpStub::Configurer::Command, "when the server is running" do
2
+ include_context "server integration"
3
+
4
+ let(:command) { HttpStub::Configurer::Command.new("localhost", 8001, request, "performing an operation") }
5
+
6
+ describe "#execute" do
7
+
8
+ describe "when the server responds with a 200 response" do
9
+
10
+ let(:request) { Net::HTTP::Get.new("/stubs") }
11
+
12
+ it "should execute without error" do
13
+ lambda { command.execute() }.should_not raise_error
14
+ end
15
+
16
+ end
17
+
18
+ describe "when the server responds with a non-200 response" do
19
+
20
+ let(:request) { Net::HTTP::Get.new("/causes_error") }
21
+
22
+ it "should raise an exception that includes the commands description" do
23
+ lambda { command.execute() }.should raise_error(/performing an operation/)
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,34 @@
1
+ describe HttpStub::Configurer::ImmediateCommandProcessor do
2
+
3
+ let(:command) { double("Command").as_null_object }
4
+
5
+ let(:processor) { HttpStub::Configurer::ImmediateCommandProcessor.new }
6
+
7
+ describe "#process" do
8
+
9
+ it "should execute the provided command" do
10
+ command.should_receive(:execute)
11
+
12
+ processor.process(command)
13
+ end
14
+
15
+ end
16
+
17
+ describe "#flush" do
18
+
19
+ describe "when a command has been processed" do
20
+
21
+ before(:each) { processor.process(command) }
22
+
23
+ it "should not re-execute the command" do
24
+ command.should_not_receive(:execute)
25
+
26
+ processor.flush
27
+ end
28
+
29
+ end
30
+
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,50 @@
1
+ describe HttpStub::Configurer::StubActivatorRequest do
2
+
3
+ describe "#initialize" do
4
+
5
+ let(:stub_request_body) { { key: "value" }.to_json }
6
+ let(:stub_request_content_type) { "Some content type" }
7
+ let(:stub_request) { double("StubRequest", :content_type => stub_request_content_type, :body => stub_request_body) }
8
+
9
+ before(:each) { HttpStub::Configurer::StubRequest.stub!(:new).and_return(stub_request) }
10
+
11
+ describe "when provided an activation uri, stub uri and stub options" do
12
+
13
+ let(:activation_uri) { "Some activation URI" }
14
+ let(:stub_uri) { "Some stub URI" }
15
+ let(:stub_options) { "Some options" }
16
+
17
+ let(:request) { HttpStub::Configurer::StubActivatorRequest.new(activation_uri, stub_uri, stub_options) }
18
+ let(:request_body) { JSON.parse(request.body) }
19
+
20
+ it "should create a HTTP POST request" do
21
+ request.method.should eql("POST")
22
+ end
23
+
24
+ it "should submit the request to '/stubs/activators'" do
25
+ request.path.should eql("/stubs/activators")
26
+ end
27
+
28
+ it "should set the content type to the same as a stub request" do
29
+ request.content_type.should eql(stub_request_content_type)
30
+ end
31
+
32
+ describe "generates a JSON body which" do
33
+
34
+ it "should contain entries for a stub request" do
35
+ HttpStub::Configurer::StubRequest.should_receive(:new).with(stub_uri, stub_options).and_return(stub_request)
36
+
37
+ request_body.should include(JSON.parse(stub_request_body))
38
+ end
39
+
40
+ it "should have an entry for the provided activation URI" do
41
+ request_body.should include({ "activation_uri" => activation_uri })
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+
50
+ end
@@ -0,0 +1,115 @@
1
+ describe HttpStub::Configurer::StubRequest do
2
+
3
+ describe "#initialize" do
4
+
5
+ describe "when provided a uri and stub options" do
6
+
7
+ let(:uri) { "Some URI" }
8
+ let(:stub_method) { "Some Method" }
9
+ let(:headers) { { "header_name" => "value" } }
10
+ let(:parameters) { { "parameter_name" => "value" } }
11
+ let(:response_status) { 500 }
12
+ let(:response_body) { "Some body" }
13
+
14
+ let(:stub_options) do
15
+ {
16
+ method: stub_method,
17
+ headers: headers,
18
+ parameters: parameters,
19
+ response: {
20
+ status: response_status,
21
+ body: response_body
22
+ }
23
+ }
24
+ end
25
+
26
+ let(:request) { HttpStub::Configurer::StubRequest.new(uri, stub_options) }
27
+ let(:request_body) { JSON.parse(request.body) }
28
+
29
+ it "should create a HTTP POST request" do
30
+ request.method.should eql("POST")
31
+ end
32
+
33
+ it "should submit the request to '/stubs'" do
34
+ request.path.should eql("/stubs")
35
+ end
36
+
37
+ it "should set the content type to json" do
38
+ request.content_type.should eql("application/json")
39
+ end
40
+
41
+ describe "generates a JSON body which" do
42
+
43
+ it "should have an entry for the provided URI" do
44
+ request_body.should include({ "uri" => uri })
45
+ end
46
+
47
+ it "should have an entry for the method option" do
48
+ request_body.should include({ "method" => stub_method })
49
+ end
50
+
51
+ describe "when a header option is provided" do
52
+
53
+ it "should have an entry for the option" do
54
+ request_body.should include({ "headers" => headers })
55
+ end
56
+
57
+ end
58
+
59
+ describe "when no header is provided" do
60
+
61
+ let(:headers) { nil }
62
+
63
+ it "should have an empty header entry" do
64
+ request_body.should include({ "headers" => {} })
65
+ end
66
+
67
+ end
68
+
69
+ describe "when a parameter option is provided" do
70
+
71
+ it "should have an entry for the option" do
72
+ request_body.should include({ "parameters" => parameters })
73
+ end
74
+
75
+ end
76
+
77
+ describe "when no parameter option is provided" do
78
+
79
+ let(:parameters) { nil }
80
+
81
+ it "should have an empty header entry" do
82
+ request_body.should include({ "parameters" => {} })
83
+ end
84
+
85
+ end
86
+
87
+ describe "when a status response option is provided" do
88
+
89
+ it "should have a response entry for the option" do
90
+ request_body["response"].should include({ "status" => response_status })
91
+ end
92
+
93
+ end
94
+
95
+ describe "when no status response option is provided" do
96
+
97
+ let(:response_status) { nil }
98
+
99
+ it "should have a response entry with status code of 200" do
100
+ request_body["response"].should include({ "status" => 200 })
101
+ end
102
+
103
+ end
104
+
105
+ it "should have an entry for the response body option" do
106
+ request_body["response"].should include({ "body" => response_body })
107
+ end
108
+
109
+ end
110
+
111
+ end
112
+
113
+ end
114
+
115
+ end
@@ -18,7 +18,7 @@ describe HttpStub::Configurer, "when the server is running" do
18
18
 
19
19
  describe "and the stub request is made" do
20
20
 
21
- let(:response) { Net::HTTP.get_response("localhost", "/path1", 8001) }
21
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_path", 8001) }
22
22
 
23
23
  it "should replay the stubbed response" do
24
24
  response.code.should eql("200")
@@ -33,7 +33,7 @@ describe HttpStub::Configurer, "when the server is running" do
33
33
 
34
34
  describe "and the stub request is made" do
35
35
 
36
- let(:response) { Net::HTTP.get_response("localhost", "/path1", 8001) }
36
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_path", 8001) }
37
37
 
38
38
  it "should respond with a 404 status code" do
39
39
  response.code.should eql("404")
@@ -56,115 +56,124 @@ describe HttpStub::Configurer, "when the server is running" do
56
56
 
57
57
  end
58
58
 
59
- end
59
+ describe "and a response for a request is stubbed" do
60
60
 
61
- describe "and the configurer is uninitialized" do
61
+ describe "that contains no headers or parameters" do
62
62
 
63
- describe "and an attempt is made to activate a stub" do
63
+ describe "and contains a response status" do
64
64
 
65
- let(:response) { Net::HTTP.get_response("localhost", "/path1", 8001) }
65
+ before(:each) do
66
+ configurer.stub_response!("/stub_with_status", method: :get, response: { status: 201, body: "Stub body" })
67
+ end
66
68
 
67
- it "should raise an exception indicating an error occurred during activation" do
68
- activation_lambda = lambda { configurer.activate!("/an_activator") }
69
+ describe "and that request is made" do
69
70
 
70
- activation_lambda.should raise_error(/error occurred activating '\/an_activator'/i)
71
- end
71
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_with_status", 8001) }
72
72
 
73
- end
73
+ it "should respond with the stubbed status" do
74
+ response.code.should eql("201")
75
+ end
74
76
 
75
- end
77
+ it "should replay the stubbed body" do
78
+ response.body.should eql("Stub body")
79
+ end
76
80
 
77
- describe "when a response for a request is stubbed" do
81
+ end
78
82
 
79
- describe "that contains no headers or parameters" do
83
+ describe "and the stub is cleared" do
80
84
 
81
- before(:each) do
82
- configurer.stub_response!("/path2", method: :get, response: { status: 201, body: "Stub body" })
83
- end
85
+ before(:each) { configurer.clear! }
84
86
 
85
- describe "and that request is made" do
87
+ describe "and the original request is made" do
86
88
 
87
- let(:response) { Net::HTTP.get_response("localhost", "/path2", 8001) }
89
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_with_status", 8001) }
90
+
91
+ it "should respond with a 404 status code" do
92
+ response.code.should eql("404")
93
+ end
94
+
95
+ end
96
+
97
+ end
88
98
 
89
- it "should replay the stubbed response" do
90
- response.code.should eql("201")
91
- response.body.should eql("Stub body")
92
99
  end
93
100
 
94
- end
101
+ describe "and does not contain a response status" do
95
102
 
96
- describe "and the stub is cleared" do
103
+ before(:each) do
104
+ configurer.stub_response!("/stub_without_status", method: :get, response: { body: "Stub body" })
105
+ end
97
106
 
98
- before(:each) { configurer.clear! }
107
+ describe "and that request is made" do
99
108
 
100
- describe "and the original request is made" do
109
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_without_status", 8001) }
101
110
 
102
- let(:response) { Net::HTTP.get_response("localhost", "/path2", 8001) }
111
+ it "should respond with the stubbed body" do
112
+ response.body.should eql("Stub body")
113
+ end
103
114
 
104
- it "should respond with a 404 status code" do
105
- response.code.should eql("404")
106
115
  end
107
116
 
108
117
  end
109
118
 
110
119
  end
111
120
 
112
- end
121
+ describe "that contains headers" do
113
122
 
114
- describe "that contains headers" do
123
+ before(:each) do
124
+ configurer.stub_response!("/stub_with_headers", method: :get, headers: { key: "value" },
125
+ response: { status: 202, body: "Another stub body" })
126
+ end
115
127
 
116
- before(:each) do
117
- configurer.stub_response!("/path3", method: :get, headers: { key: "value" },
118
- response: { status: 202, body: "Another stub body" })
119
- end
128
+ describe "and that request is made" do
120
129
 
121
- describe "and that request is made" do
130
+ let(:response) { HTTParty.get("http://localhost:8001/stub_with_headers", headers: { "key" => "value" }) }
122
131
 
123
- let(:response) { HTTParty.get("http://localhost:8001/path3", headers: { "key" => "value" }) }
132
+ it "should replay the stubbed response" do
133
+ response.code.should eql(202)
134
+ response.body.should eql("Another stub body")
135
+ end
124
136
 
125
- it "should replay the stubbed response" do
126
- response.code.should eql(202)
127
- response.body.should eql("Another stub body")
128
137
  end
129
138
 
130
- end
139
+ describe "and a request with different headers is made" do
131
140
 
132
- describe "and a request with different headers is made" do
141
+ let(:response) { HTTParty.get("http://localhost:8001/stub_with_headers", headers: { "key" => "other_value" }) }
133
142
 
134
- let(:response) { HTTParty.get("http://localhost:8001/path3", headers: { "key" => "another_value" }) }
143
+ it "should respond with a 404 status code" do
144
+ response.code.should eql(404)
145
+ end
135
146
 
136
- it "should respond with a 404 status code" do
137
- response.code.should eql(404)
138
147
  end
139
148
 
140
149
  end
141
150
 
142
- end
151
+ describe "that contains parameters" do
143
152
 
144
- describe "that contains parameters" do
153
+ before(:each) do
154
+ configurer.stub_response!("/stub_with_parameters", method: :get, parameters: { key: "value" },
155
+ response: { status: 202, body: "Another stub body" })
156
+ end
145
157
 
146
- before(:each) do
147
- configurer.stub_response!("/path4", method: :get, parameters: { key: "value" },
148
- response: { status: 202, body: "Another stub body" })
149
- end
158
+ describe "and that request is made" do
150
159
 
151
- describe "and that request is made" do
160
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_with_parameters?key=value", 8001) }
152
161
 
153
- let(:response) { Net::HTTP.get_response("localhost", "/path4?key=value", 8001) }
162
+ it "should replay the stubbed response" do
163
+ response.code.should eql("202")
164
+ response.body.should eql("Another stub body")
165
+ end
154
166
 
155
- it "should replay the stubbed response" do
156
- response.code.should eql("202")
157
- response.body.should eql("Another stub body")
158
167
  end
159
168
 
160
- end
169
+ describe "and a request with different parameters is made" do
161
170
 
162
- describe "and a request with different parameters is made" do
171
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_with_parameters?key=another_value", 8001) }
163
172
 
164
- let(:response) { Net::HTTP.get_response("localhost", "/path4?key=another_value", 8001) }
173
+ it "should respond with a 404 status code" do
174
+ response.code.should eql("404")
175
+ end
165
176
 
166
- it "should respond with a 404 status code" do
167
- response.code.should eql("404")
168
177
  end
169
178
 
170
179
  end
@@ -173,4 +182,20 @@ describe HttpStub::Configurer, "when the server is running" do
173
182
 
174
183
  end
175
184
 
185
+ describe "and the configurer is uninitialized" do
186
+
187
+ describe "and an attempt is made to activate a stub" do
188
+
189
+ let(:response) { Net::HTTP.get_response("localhost", "/stub_path", 8001) }
190
+
191
+ it "should raise an exception indicating an error occurred during activation" do
192
+ activation_lambda = lambda { configurer.activate!("/an_activator") }
193
+
194
+ activation_lambda.should raise_error(/error occurred activating '\/an_activator'/i)
195
+ end
196
+
197
+ end
198
+
199
+ end
200
+
176
201
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'simplecov'
2
2
  SimpleCov.start do
3
3
  add_filter "/spec/"
4
- minimum_coverage 96.8
4
+ minimum_coverage 97.1
5
5
  refuse_coverage_drop
6
6
  end if ENV["coverage"]
7
7
 
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.5.4
4
+ version: 0.5.5
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-03-12 00:00:00.000000000 Z
13
+ date: 2013-03-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sinatra
@@ -194,8 +194,12 @@ executables: []
194
194
  extensions: []
195
195
  extra_rdoc_files: []
196
196
  files:
197
+ - ./lib/http_stub/configurer/buffered_command_processor.rb
198
+ - ./lib/http_stub/configurer/command.rb
199
+ - ./lib/http_stub/configurer/immediate_command_processor.rb
200
+ - ./lib/http_stub/configurer/stub_activator_request.rb
201
+ - ./lib/http_stub/configurer/stub_request.rb
197
202
  - ./lib/http_stub/configurer.rb
198
- - ./lib/http_stub/configurer_request.rb
199
203
  - ./lib/http_stub/controllers/stub_activator_controller.rb
200
204
  - ./lib/http_stub/controllers/stub_controller.rb
201
205
  - ./lib/http_stub/hash_extensions.rb
@@ -216,8 +220,12 @@ files:
216
220
  - ./lib/http_stub/views/stubs.haml
217
221
  - ./lib/http_stub.rb
218
222
  - ./spec/curl_samples.txt
223
+ - ./spec/lib/http_stub/configurer/buffered_command_processor_spec.rb
224
+ - ./spec/lib/http_stub/configurer/command_integration_spec.rb
225
+ - ./spec/lib/http_stub/configurer/immediate_command_processor_spec.rb
226
+ - ./spec/lib/http_stub/configurer/stub_activator_request_spec.rb
227
+ - ./spec/lib/http_stub/configurer/stub_request_spec.rb
219
228
  - ./spec/lib/http_stub/configurer_integration_spec.rb
220
- - ./spec/lib/http_stub/configurer_request_integration_spec.rb
221
229
  - ./spec/lib/http_stub/controllers/stub_activator_controller_spec.rb
222
230
  - ./spec/lib/http_stub/controllers/stub_controller_spec.rb
223
231
  - ./spec/lib/http_stub/hash_extensions_spec.rb
@@ -254,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
254
262
  version: '0'
255
263
  segments:
256
264
  - 0
257
- hash: -301953160599297370
265
+ hash: 914771674812276370
258
266
  requirements: []
259
267
  rubyforge_project: http_stub
260
268
  rubygems_version: 1.8.25
@@ -263,8 +271,12 @@ specification_version: 3
263
271
  summary: A HTTP Server replaying configured stub responses.
264
272
  test_files:
265
273
  - ./spec/curl_samples.txt
274
+ - ./spec/lib/http_stub/configurer/buffered_command_processor_spec.rb
275
+ - ./spec/lib/http_stub/configurer/command_integration_spec.rb
276
+ - ./spec/lib/http_stub/configurer/immediate_command_processor_spec.rb
277
+ - ./spec/lib/http_stub/configurer/stub_activator_request_spec.rb
278
+ - ./spec/lib/http_stub/configurer/stub_request_spec.rb
266
279
  - ./spec/lib/http_stub/configurer_integration_spec.rb
267
- - ./spec/lib/http_stub/configurer_request_integration_spec.rb
268
280
  - ./spec/lib/http_stub/controllers/stub_activator_controller_spec.rb
269
281
  - ./spec/lib/http_stub/controllers/stub_controller_spec.rb
270
282
  - ./spec/lib/http_stub/hash_extensions_spec.rb
@@ -1,18 +0,0 @@
1
- module HttpStub
2
-
3
- class ConfigurerRequest
4
-
5
- def initialize(host, port, request, description)
6
- @host = host
7
- @port = port
8
- @request = request
9
- @description = description
10
- end
11
-
12
- def submit
13
- response = Net::HTTP.new(@host, @port).start { |http| http.request(@request) }
14
- raise "Error occurred #{@description}: #{response.message}" unless response.code == "200"
15
- end
16
-
17
- end
18
- end
@@ -1,30 +0,0 @@
1
- describe HttpStub::ConfigurerRequest, "when the server is running" do
2
- include_context "server integration"
3
-
4
- let(:configurer_request) { HttpStub::ConfigurerRequest.new("localhost", 8001, request, "performing some operation") }
5
-
6
- describe "#submit" do
7
-
8
- describe "when the server responds with a 200 response" do
9
-
10
- let(:request) { Net::HTTP::Get.new("/stubs") }
11
-
12
- it "should execute without error" do
13
- lambda { configurer_request.submit() }.should_not raise_error
14
- end
15
-
16
- end
17
-
18
- describe "when the server responds with a non-200 response" do
19
-
20
- let(:request) { Net::HTTP::Get.new("/causes_error") }
21
-
22
- it "should raise an exception that includes the description" do
23
- lambda { configurer_request.submit() }.should raise_error(/performing some operation/)
24
- end
25
-
26
- end
27
-
28
- end
29
-
30
- end