http_stub 0.15.0 → 0.15.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77eb1d522a9c4187caae1203528f66741295bffe
4
- data.tar.gz: f089d9c6e085126c6be87386a77cc1295b142e9c
3
+ metadata.gz: 438c42456ebda9bd71a4c56735be06a71c62ef68
4
+ data.tar.gz: d9c2910a45e9c6ec166e58d7d02dd1f8a2d31357
5
5
  SHA512:
6
- metadata.gz: 5c367ce983d21581034478d9accfcffc23d1d150fe49053fd72992fd2a7e8106eae1cb3a7d710111bf9ffad5ec073623785102efca130b0a4b64251e9d5f93f4
7
- data.tar.gz: d3f5a65a799a7afebc73feb58f155196fce11acacb827d3706243b836abb5261f75cf04f9cb6156a6deb2462e4d23db80efd90759e638af8f673edab278c6ba2
6
+ metadata.gz: 79748781d578ca9908fb56d818605e2ad1670958d69c9f47a5b1d692227d156f34fa4ed1f22caf26f0ef07a5838bbe98ba9190d3bae21ba79d4b779101562107
7
+ data.tar.gz: 719ec839fe7f02751cf4ea178e33daac0a9502c43ec3bac543c5f7f319e756decb8e0ab05b08fb2cc79a4bed2bb1d3938ac15476eecd3b1414114a96ecb1f811
data/lib/http_stub.rb CHANGED
@@ -12,12 +12,6 @@ require 'active_support/core_ext/module/delegation'
12
12
  require 'active_support/core_ext/hash/slice'
13
13
  require 'active_support/core_ext/hash/deep_merge'
14
14
 
15
- module HttpStub
16
-
17
- BASE_DIR = ::File.expand_path("../..", __FILE__)
18
-
19
- end
20
-
21
15
  require_relative 'http_stub/extensions/core/hash'
22
16
  require_relative 'http_stub/extensions/rack/handler'
23
17
  require_relative 'http_stub/server/headers'
@@ -28,13 +28,11 @@ module HttpStub
28
28
 
29
29
  def rollback_to(model)
30
30
  starting_index = @models.index(model)
31
- @models[0..starting_index].each(&:clear)
32
- @models = @models.slice(starting_index..-1)
31
+ @models = @models.slice(starting_index..-1) if starting_index
33
32
  end
34
33
 
35
34
  def clear(request)
36
35
  request.logger.info "Clearing #{@model_name} registry"
37
- @models.each(&:clear)
38
36
  @models.clear
39
37
  end
40
38
 
@@ -22,11 +22,6 @@ module HttpStub
22
22
  @parameters.match?(request)
23
23
  end
24
24
 
25
- def clear
26
- @response.clear
27
- @triggers.clear
28
- end
29
-
30
25
  def to_s
31
26
  @description
32
27
  end
@@ -24,10 +24,6 @@ module HttpStub
24
24
  @args["activation_uri"]
25
25
  end
26
26
 
27
- def clear
28
- @stub.clear
29
- end
30
-
31
27
  def to_s
32
28
  @args.to_s
33
29
  end
@@ -47,10 +47,6 @@ module HttpStub
47
47
  @original_args.empty?
48
48
  end
49
49
 
50
- def clear
51
- # Intentionally blank
52
- end
53
-
54
50
  def to_s
55
51
  @original_args.to_s
56
52
  end
@@ -4,16 +4,10 @@ module HttpStub
4
4
 
5
5
  class File < HttpStub::Server::StubResponse::Base
6
6
 
7
- private
8
-
9
- STORAGE_DIR = "#{HttpStub::BASE_DIR}/tmp/response_files".freeze
10
-
11
- public
12
-
13
7
  add_default_headers "content-type" => "application/octet-stream"
14
8
 
15
9
  def initialize(args)
16
- @file_path = store_file(args["body"])
10
+ @file_path = args["body"][:tempfile].path
17
11
  super(args.merge("body" => @file_path))
18
12
  end
19
13
 
@@ -21,19 +15,8 @@ module HttpStub
21
15
  server.send_file(@file_path, send_options)
22
16
  end
23
17
 
24
- def clear
25
- FileUtils.rm_f(@file_path)
26
- end
27
-
28
18
  private
29
19
 
30
- def store_file(upload)
31
- FileUtils.mkdir_p(STORAGE_DIR)
32
- "#{STORAGE_DIR}/#{upload[:filename]}".tap do |file_path|
33
- ::File.open(file_path, "w") { |file| file.write(upload[:tempfile].read) }
34
- end
35
- end
36
-
37
20
  def send_options
38
21
  { status: @status, type: @headers["content-type"] }.tap do |options|
39
22
  options[:last_modified] = @headers["last-modified"] if @headers["last-modified"]
@@ -13,10 +13,6 @@ module HttpStub
13
13
  @triggers.each { |trigger| registry.add(trigger, request) }
14
14
  end
15
15
 
16
- def clear
17
- @triggers.each(&:clear)
18
- end
19
-
20
16
  def to_s
21
17
  @triggers.reduce("") { |result, trigger| "#{result}\n#{trigger}" }
22
18
  end
@@ -1,3 +1,3 @@
1
1
  module HttpStub
2
- VERSION = "0.15.0".freeze
2
+ VERSION = "0.15.1".freeze
3
3
  end
@@ -7,7 +7,7 @@ describe HttpStub::Server::Registry do
7
7
 
8
8
  shared_context "register multiple models" do
9
9
 
10
- let(:models) { (1..3).map { |i| double("HttpStub::Server::Model#{i}", :satisfies? => false, :clear => nil) } }
10
+ let(:models) { (1..3).map { |i| double("HttpStub::Server::Model#{i}", :satisfies? => false) } }
11
11
 
12
12
  before(:example) { models.each { |model| registry.add(model, request) } }
13
13
 
@@ -136,6 +136,54 @@ describe HttpStub::Server::Registry do
136
136
 
137
137
  end
138
138
 
139
+ describe "#rollback_to" do
140
+
141
+ subject { registry.rollback_to(model) }
142
+
143
+ context "when models have been added" do
144
+
145
+ include_context "register multiple models"
146
+
147
+ context "and the rollback is to one of those models" do
148
+
149
+ let(:model) { models[1] }
150
+
151
+ it "the models remaining are those added up to and including the provided model" do
152
+ subject
153
+
154
+ expect(registry.all).to eql(models[0, 2].reverse)
155
+ end
156
+
157
+ end
158
+
159
+ context "and the rollback is to a model that has not been added" do
160
+
161
+ let(:model) { double("HttpStub::Server::Model") }
162
+
163
+ it "does not remove any models" do
164
+ subject
165
+
166
+ expect(registry.all).to eql(models.reverse)
167
+ end
168
+
169
+ end
170
+
171
+ end
172
+
173
+ context "when no models have been added" do
174
+
175
+ let(:model) { double("HttpStub::Server::Model") }
176
+
177
+ it "does not effect the known models" do
178
+ subject
179
+
180
+ expect(registry.all).to be_empty
181
+ end
182
+
183
+ end
184
+
185
+ end
186
+
139
187
  describe "#clear" do
140
188
 
141
189
  subject { registry.clear(request) }
@@ -150,12 +198,6 @@ describe HttpStub::Server::Registry do
150
198
 
151
199
  include_context "register multiple models"
152
200
 
153
- it "clears each model" do
154
- models.each { |model| expect(model).to receive(:clear) }
155
-
156
- subject
157
- end
158
-
159
201
  it "releases all knowledge of the models" do
160
202
  subject
161
203
 
@@ -101,16 +101,6 @@ describe HttpStub::Server::StubActivator do
101
101
 
102
102
  end
103
103
 
104
- describe "#clear" do
105
-
106
- it "delegates to a HttpStub::Server::Stub constructed from the activator's arguments" do
107
- expect(underlying_stub).to receive(:clear)
108
-
109
- expect(stub_activator.clear)
110
- end
111
-
112
- end
113
-
114
104
  describe "#to_s" do
115
105
 
116
106
  it "returns the string representation of the activation arguments" do
@@ -206,14 +206,6 @@ describe HttpStub::Server::StubResponse::Base do
206
206
 
207
207
  end
208
208
 
209
- describe "#clear" do
210
-
211
- it "executes without error" do
212
- expect { response.clear }.to_not raise_error
213
- end
214
-
215
- end
216
-
217
209
  describe "#to_s" do
218
210
 
219
211
  it "returns the string representation of the provided arguments" do
@@ -12,34 +12,20 @@ describe HttpStub::Server::StubResponse::File do
12
12
  }
13
13
  end
14
14
 
15
- let(:expected_file_path) { "#{HttpStub::BASE_DIR}/tmp/response_files/#{file_name}" }
16
-
17
15
  let(:response_file) { HttpStub::Server::StubResponse::File.new(args) }
18
16
 
19
- after(:example) { FileUtils.rm_rf(expected_file_path) }
20
-
21
17
  it "is a base response" do
22
18
  expect(response_file).to be_a(HttpStub::Server::StubResponse::Base)
23
19
  end
24
20
 
25
- describe "constructor" do
26
-
27
- it "stores the temporary file provided for subsequent use" do
28
- response_file
29
-
30
- expect(FileUtils.identical?(expected_file_path, temp_file_path)).to be(true)
31
- end
32
-
33
- end
34
-
35
21
  describe "#serve_on" do
36
22
 
37
23
  let(:server) { instance_double(Sinatra::Base) }
38
24
 
39
25
  subject { response_file.serve_on(server) }
40
26
 
41
- it "sends the file via the server" do
42
- expect(server).to receive(:send_file).with(expected_file_path, anything)
27
+ it "sends the temp file via the server" do
28
+ expect(server).to receive(:send_file).with(temp_file_path, anything)
43
29
 
44
30
  subject
45
31
  end
@@ -127,14 +113,4 @@ describe HttpStub::Server::StubResponse::File do
127
113
 
128
114
  end
129
115
 
130
- describe "#clear" do
131
-
132
- it "deletes the stored file" do
133
- response_file.clear
134
-
135
- expect(File.exist?(expected_file_path)).to be(false)
136
- end
137
-
138
- end
139
-
140
116
  end
@@ -43,8 +43,8 @@ describe HttpStub::Server::Stub do
43
43
  let(:stub_uri) { instance_double(HttpStub::Server::StubUri, match?: true) }
44
44
  let(:stub_headers) { instance_double(HttpStub::Server::StubHeaders, match?: true) }
45
45
  let(:stub_parameters) { instance_double(HttpStub::Server::StubParameters, match?: true) }
46
- let(:stub_response) { instance_double(HttpStub::Server::StubResponse::Base, clear: nil) }
47
- let(:stub_triggers) { instance_double(HttpStub::Server::StubTriggers, clear: nil) }
46
+ let(:stub_response) { instance_double(HttpStub::Server::StubResponse::Base) }
47
+ let(:stub_triggers) { instance_double(HttpStub::Server::StubTriggers) }
48
48
 
49
49
  let(:the_stub) { HttpStub::Server::Stub.new(stub_args) }
50
50
 
@@ -186,24 +186,6 @@ describe HttpStub::Server::Stub do
186
186
 
187
187
  end
188
188
 
189
- describe "#clear" do
190
-
191
- subject { the_stub.clear }
192
-
193
- it "clears the stub response" do
194
- expect(stub_response).to receive(:clear)
195
-
196
- subject
197
- end
198
-
199
- it "clears the stub triggers" do
200
- expect(stub_triggers).to receive(:clear)
201
-
202
- subject
203
- end
204
-
205
- end
206
-
207
189
  describe "#to_s" do
208
190
 
209
191
  it "returns a string representation of the stub arguments" do
@@ -33,16 +33,6 @@ describe HttpStub::Server::StubTriggers do
33
33
 
34
34
  end
35
35
 
36
- describe "#clear" do
37
-
38
- it "clears each stub" do
39
- stubs_for_triggers.each { |stub| expect(stub).to receive(:clear) }
40
-
41
- stub_triggers.clear
42
- end
43
-
44
- end
45
-
46
36
  describe "#each" do
47
37
 
48
38
  it "yields to the stubs for each trigger" do
data/spec/spec_helper.rb CHANGED
@@ -7,7 +7,7 @@ SimpleCov.start do
7
7
  add_filter "/spec/"
8
8
  add_filter "/vendor/"
9
9
 
10
- minimum_coverage 99.55
10
+ minimum_coverage 99.54
11
11
  refuse_coverage_drop
12
12
  end if ENV["coverage"]
13
13
 
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.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Ueckerman