@@ -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