@@ -161,17 +161,39 @@ class AuthrequestTest < Minitest::Test
161161 assert auth_url . include? ( '&RelayState=http%3A%2F%2Fexample.com' )
162162 end
163163
164- it "creates request with ID prefixed with default '_'" do
165- request = RubySaml ::Authrequest . new
164+ describe "uuid" do
165+ it "uuid is initialized to nil" do
166+ request = RubySaml ::Authrequest . new
166167
167- assert_match ( /^_/ , request . uuid )
168- end
168+ assert_nil ( request . uuid )
169+ assert_equal request . request_id , request . uuid
170+ end
171+
172+ it "creates request with ID prefixed with default '_'" do
173+ request = RubySaml ::Authrequest . new
174+ request . create ( settings )
175+
176+ assert_match ( /^_/ , request . uuid )
177+ assert_equal request . request_id , request . uuid
178+ end
179+
180+ it "creates request with ID prefixed by Settings#sp_uuid_prefix" do
181+ settings . sp_uuid_prefix = 'test'
182+ request = RubySaml ::Authrequest . new
183+ request . create ( settings )
169184
170- it "creates request with ID is prefixed, when :id_prefix is passed" do
171- RubySaml ::Utils ::set_prefix ( "test" )
172- request = RubySaml ::Authrequest . new
173- assert_match ( /^test/ , request . uuid )
174- RubySaml ::Utils ::set_prefix ( "_" )
185+ assert_match ( /^test/ , request . uuid )
186+ assert_equal request . request_id , request . uuid
187+ end
188+
189+ it "can mutate the uuid" do
190+ request = RubySaml ::Authrequest . new
191+ request_id = request . request_id
192+ assert_equal request_id , request . uuid
193+ request . uuid = "new_uuid"
194+ assert_equal "new_uuid" , request . uuid
195+ assert_equal request . request_id , request . uuid
196+ end
175197 end
176198
177199 describe "when the target url is not set" do
@@ -272,17 +294,6 @@ class AuthrequestTest < Minitest::Test
272294 assert auth_doc . to_s =~ /<saml:AuthnContextDeclRef>example\/ decl\/ ref<\/ saml:AuthnContextDeclRef>/
273295 end
274296
275- describe "#manipulate request_id" do
276- it "be able to modify the request id" do
277- authnrequest = RubySaml ::Authrequest . new
278- request_id = authnrequest . request_id
279- assert_equal request_id , authnrequest . uuid
280- authnrequest . uuid = "new_uuid"
281- assert_equal authnrequest . request_id , authnrequest . uuid
282- assert_equal "new_uuid" , authnrequest . request_id
283- end
284- end
285-
286297 each_signature_algorithm do |sp_key_algo , sp_hash_algo |
287298 describe "#create_params signing with HTTP-POST binding" do
288299 before do
0 commit comments