Skip to content

Commit 6dda46a

Browse files
committed
add combination test of Strict and Lax SameSite cookies
1 parent 1a0a4fc commit 6dda46a

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

spec/lib/secure_headers/middleware_spec.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,17 @@ module SecureHeaders
7373
expect(env['Set-Cookie']).to match(SecureHeaders::Cookie::SAMESITE_REGEXP)
7474
end
7575

76+
it "flags cookies with a combination of SameSite configurations" do
77+
cookie_middleware = Middleware.new(lambda { |env| [200, env.merge("Set-Cookie" => ["_session=foobar", "_guest=true"]), "app"] })
78+
79+
Configuration.default { |config| config.cookies = { samesite: { lax: { except: ["_session"] }, strict: { only: ["_session"] } } } }
80+
request = Rack::Request.new("HTTPS" => "on")
81+
_, env = cookie_middleware.call request.env
82+
83+
expect(env['Set-Cookie']).to match("_session=foobar; SameSite=Strict")
84+
expect(env['Set-Cookie']).to match("_guest=true; SameSite=Lax")
85+
end
86+
7687
it "disables secure cookies for non-https requests" do
7788
Configuration.default { |config| config.cookies = { secure: true } }
7889

0 commit comments

Comments
 (0)