Skip to content

Commit bc65e07

Browse files
committed
fix specs for ruby / rack head
1 parent 23d36b9 commit bc65e07

File tree

1 file changed

+30
-26
lines changed

1 file changed

+30
-26
lines changed

test/test_rack_session.rb

+30-26
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
Rack::Session::Dalli.new(incrementor)
1717
end
1818

19+
def clean_body(body)
20+
body.lines.reject { |line| line.start_with?('#') }.join
21+
end
22+
1923
let(:session_key) { Rack::Session::Dalli::DEFAULT_OPTIONS[:key] }
2024
let(:session_match) do
2125
/#{session_key}=([0-9a-fA-F]+);/
@@ -114,7 +118,7 @@
114118
res = Rack::MockRequest.new(rsd).get('/')
115119

116120
assert_includes res['Set-Cookie'], "#{session_key}="
117-
assert_equal '{"counter"=>1}', res.body
121+
assert_equal '{"counter"=>1}', clean_body(res.body)
118122
end
119123

120124
it 'determines session from a cookie' do
@@ -123,8 +127,8 @@
123127
res = req.get('/')
124128
cookie = res['Set-Cookie']
125129

126-
assert_equal '{"counter"=>2}', req.get('/', 'HTTP_COOKIE' => cookie).body
127-
assert_equal '{"counter"=>3}', req.get('/', 'HTTP_COOKIE' => cookie).body
130+
assert_equal '{"counter"=>2}', clean_body(req.get('/', 'HTTP_COOKIE' => cookie).body)
131+
assert_equal '{"counter"=>3}', clean_body(req.get('/', 'HTTP_COOKIE' => cookie).body)
128132
end
129133

130134
it 'determines session only from a cookie by default' do
@@ -133,8 +137,8 @@
133137
res = req.get('/')
134138
sid = res['Set-Cookie'][session_match, 1]
135139

136-
assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body
137-
assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body
140+
assert_equal '{"counter"=>1}', clean_body(req.get("/?rack.session=#{sid}").body)
141+
assert_equal '{"counter"=>1}', clean_body(req.get("/?rack.session=#{sid}").body)
138142
end
139143

140144
it 'determines session from params' do
@@ -143,8 +147,8 @@
143147
res = req.get('/')
144148
sid = res['Set-Cookie'][session_match, 1]
145149

146-
assert_equal '{"counter"=>2}', req.get("/?rack.session=#{sid}").body
147-
assert_equal '{"counter"=>3}', req.get("/?rack.session=#{sid}").body
150+
assert_equal '{"counter"=>2}', clean_body(req.get("/?rack.session=#{sid}").body)
151+
assert_equal '{"counter"=>3}', clean_body(req.get("/?rack.session=#{sid}").body)
148152
end
149153

150154
it 'survives nonexistant cookies' do
@@ -153,7 +157,7 @@
153157
res = Rack::MockRequest.new(rsd)
154158
.get('/', 'HTTP_COOKIE' => bad_cookie)
155159

156-
assert_equal '{"counter"=>1}', res.body
160+
assert_equal '{"counter"=>1}', clean_body(res.body)
157161
cookie = res['Set-Cookie'][session_match]
158162

159163
refute_match(/#{bad_cookie}/, cookie)
@@ -208,17 +212,17 @@
208212
res0 = req.get('/')
209213
cookie = res0['Set-Cookie'][session_match]
210214

211-
assert_equal '{"counter"=>1}', res0.body
215+
assert_equal '{"counter"=>1}', clean_body(res0.body)
212216

213217
res1 = req.get('/', 'HTTP_COOKIE' => cookie)
214218

215219
assert_nil res1['Set-Cookie']
216-
assert_equal '{"counter"=>2}', res1.body
220+
assert_equal '{"counter"=>2}', clean_body(res1.body)
217221

218222
res2 = req.get('/', 'HTTP_COOKIE' => cookie)
219223

220224
assert_nil res2['Set-Cookie']
221-
assert_equal '{"counter"=>3}', res2.body
225+
assert_equal '{"counter"=>3}', clean_body(res2.body)
222226
end
223227

224228
it 'deletes cookies with :drop option' do
@@ -230,17 +234,17 @@
230234
res1 = req.get('/')
231235
session = (cookie = res1['Set-Cookie'])[session_match]
232236

233-
assert_equal '{"counter"=>1}', res1.body
237+
assert_equal '{"counter"=>1}', clean_body(res1.body)
234238

235239
res2 = dreq.get('/', 'HTTP_COOKIE' => cookie)
236240

237241
assert_nil res2['Set-Cookie']
238-
assert_equal '{"counter"=>2}', res2.body
242+
assert_equal '{"counter"=>2}', clean_body(res2.body)
239243

240244
res3 = req.get('/', 'HTTP_COOKIE' => cookie)
241245

242246
refute_equal session, res3['Set-Cookie'][session_match]
243-
assert_equal '{"counter"=>1}', res3.body
247+
assert_equal '{"counter"=>1}', clean_body(res3.body)
244248
end
245249

246250
it 'provides new session id with :renew option' do
@@ -252,23 +256,23 @@
252256
res1 = req.get('/')
253257
session = (cookie = res1['Set-Cookie'])[session_match]
254258

255-
assert_equal '{"counter"=>1}', res1.body
259+
assert_equal '{"counter"=>1}', clean_body(res1.body)
256260

257261
res2 = rreq.get('/', 'HTTP_COOKIE' => cookie)
258262
new_cookie = res2['Set-Cookie']
259263
new_session = new_cookie[session_match]
260264

261265
refute_equal session, new_session
262-
assert_equal '{"counter"=>2}', res2.body
266+
assert_equal '{"counter"=>2}', clean_body(res2.body)
263267

264268
res3 = req.get('/', 'HTTP_COOKIE' => new_cookie)
265269

266-
assert_equal '{"counter"=>3}', res3.body
270+
assert_equal '{"counter"=>3}', clean_body(res3.body)
267271

268272
# Old cookie was deleted
269273
res4 = req.get('/', 'HTTP_COOKIE' => cookie)
270274

271-
assert_equal '{"counter"=>1}', res4.body
275+
assert_equal '{"counter"=>1}', clean_body(res4.body)
272276
end
273277

274278
it 'omits cookie with :defer option but still updates the state' do
@@ -281,15 +285,15 @@
281285
res0 = dreq.get('/')
282286

283287
assert_nil res0['Set-Cookie']
284-
assert_equal '{"counter"=>1}', res0.body
288+
assert_equal '{"counter"=>1}', clean_body(res0.body)
285289

286290
res0 = creq.get('/')
287291
res1 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
288292

289-
assert_equal '{"counter"=>2}', res1.body
293+
assert_equal '{"counter"=>2}', clean_body(res1.body)
290294
res2 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
291295

292-
assert_equal '{"counter"=>3}', res2.body
296+
assert_equal '{"counter"=>3}', clean_body(res2.body)
293297
end
294298

295299
it 'omits cookie and state update with :skip option' do
@@ -302,15 +306,15 @@
302306
res0 = sreq.get('/')
303307

304308
assert_nil res0['Set-Cookie']
305-
assert_equal '{"counter"=>1}', res0.body
309+
assert_equal '{"counter"=>1}', clean_body(res0.body)
306310

307311
res0 = creq.get('/')
308312
res1 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
309313

310-
assert_equal '{"counter"=>2}', res1.body
314+
assert_equal '{"counter"=>2}', clean_body(res1.body)
311315
res2 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
312316

313-
assert_equal '{"counter"=>2}', res2.body
317+
assert_equal '{"counter"=>2}', clean_body(res2.body)
314318
end
315319

316320
it 'updates deep hashes correctly' do
@@ -332,13 +336,13 @@
332336
ses0 = JSON.parse(res0.body)
333337

334338
refute_nil ses0
335-
assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"i"}}, "test"=>true}', ses0.to_s
339+
assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"i"}}, "test"=>true}', clean_body(ses0.to_s)
336340

337341
res1 = req.get('/', 'HTTP_COOKIE' => cookie)
338342
ses1 = JSON.parse(res1.body)
339343

340344
refute_nil ses1
341-
assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"j"}}, "test"=>true}', ses1.to_s
345+
assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"j"}}, "test"=>true}', clean_body(ses1.to_s)
342346

343347
refute_equal ses0, ses1
344348
end

0 commit comments

Comments
 (0)