Skip to content

Commit a03fead

Browse files
committed
DRY up tests a little
1 parent 0664df0 commit a03fead

File tree

1 file changed

+13
-36
lines changed

1 file changed

+13
-36
lines changed

spec/lib/secure_headers/headers/cookie_spec.rb

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -68,44 +68,21 @@ module SecureHeaders
6868
end
6969

7070
context "SameSite cookies" do
71-
it "flags SameSite=Lax" do
72-
cookie = Cookie.new(raw_cookie, samesite: { lax: { only: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
73-
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=Lax")
74-
end
75-
76-
it "flags SameSite=Lax when configured with a boolean" do
77-
cookie = Cookie.new(raw_cookie, samesite: { lax: true}, secure: OPT_OUT, httponly: OPT_OUT)
78-
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=Lax")
79-
end
80-
81-
it "does not flag cookies as SameSite=Lax when excluded" do
82-
cookie = Cookie.new(raw_cookie, samesite: { lax: { except: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
83-
expect(cookie.to_s).to eq("_session=thisisatest")
84-
end
85-
86-
it "flags SameSite=Strict" do
87-
cookie = Cookie.new(raw_cookie, samesite: { strict: { only: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
88-
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=Strict")
89-
end
90-
91-
it "does not flag cookies as SameSite=Strict when excluded" do
92-
cookie = Cookie.new(raw_cookie, samesite: { strict: { except: ["_session"] }}, secure: OPT_OUT, httponly: OPT_OUT)
93-
expect(cookie.to_s).to eq("_session=thisisatest")
94-
end
95-
96-
it "flags SameSite=None" do
97-
cookie = Cookie.new(raw_cookie, samesite: { none: { only: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
98-
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=None")
99-
end
71+
%w(None Lax Strict).each do |flag|
72+
it "flags SameSite=#{flag}" do
73+
cookie = Cookie.new(raw_cookie, samesite: { flag.downcase.to_sym => { only: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
74+
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=#{flag}")
75+
end
10076

101-
it "flags SameSite=None when configured with a boolean" do
102-
cookie = Cookie.new(raw_cookie, samesite: { none: true}, secure: OPT_OUT, httponly: OPT_OUT)
103-
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=None")
104-
end
77+
it "flags SameSite=#{flag} when configured with a boolean" do
78+
cookie = Cookie.new(raw_cookie, samesite: { flag.downcase.to_sym => true}, secure: OPT_OUT, httponly: OPT_OUT)
79+
expect(cookie.to_s).to eq("_session=thisisatest; SameSite=#{flag}")
80+
end
10581

106-
it "does not flag cookies as SameSite=none when excluded" do
107-
cookie = Cookie.new(raw_cookie, samesite: { none: { except: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
108-
expect(cookie.to_s).to eq("_session=thisisatest")
82+
it "does not flag cookies as SameSite=#{flag} when excluded" do
83+
cookie = Cookie.new(raw_cookie, samesite: { flag.downcase.to_sym => { except: ["_session"] } }, secure: OPT_OUT, httponly: OPT_OUT)
84+
expect(cookie.to_s).to eq("_session=thisisatest")
85+
end
10986
end
11087

11188
it "flags SameSite=Strict when configured with a boolean" do

0 commit comments

Comments
 (0)