Skip to content

Commit 7fd606a

Browse files
committed
Raise a more descriptive exception if idp_sso_target_url is missing
1 parent 635e75c commit 7fd606a

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

lib/onelogin/ruby-saml/authrequest.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def create(settings, params = {})
3636
params.each_pair do |key, value|
3737
request_params << "&#{key.to_s}=#{CGI.escape(value.to_s)}"
3838
end
39+
raise "Invalid settings, idp_sso_target_url is not set!" if settings.idp_sso_target_url.nil?
3940
@login_url = settings.idp_sso_target_url + request_params
4041
end
4142

test/request_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,19 @@ class RequestTest < Minitest::Test
129129
assert_match /&hello=$/, auth_url
130130
end
131131

132+
describe "when the target url is not set" do
133+
before do
134+
settings.idp_sso_target_url = nil
135+
end
136+
137+
it "raises an error with a descriptive message" do
138+
err = assert_raises RuntimeError do
139+
OneLogin::RubySaml::Authrequest.new.create(settings)
140+
end
141+
assert_match /idp_sso_target_url is not set/, err.message
142+
end
143+
end
144+
132145
describe "when the target url doesn't contain a query string" do
133146
it "create the SAMLRequest parameter correctly" do
134147

0 commit comments

Comments
 (0)