spec/models/identity_provider_spec.rb in osso-0.0.5.pre.zeta vs spec/models/identity_provider_spec.rb in osso-0.0.5
- old
+ new
@@ -22,17 +22,51 @@
"https://test.herokuapp.com/auth/saml/#{subject.id}/callback",
)
end
end
+ describe '#acs_url_validator' do
+ it 'returns a regex escaped string' do
+ allow(subject).to receive(:acs_url).and_return(
+ 'https://foo.com/auth/saml/callback',
+ )
+
+ expect(subject.acs_url_validator).to eq(
+ 'https://foo\\.com/auth/saml/callback',
+ )
+ end
+ end
+
+ describe '#sso_issuer' do
+ it 'returns a url unique to self' do
+ ENV['HEROKU_APP_NAME'] = nil
+ ENV['BASE_URL'] = 'https://example.com'
+
+ expect(subject.sso_issuer).to eq(
+ "#{subject.domain}/#{subject.oauth_client_id}",
+ )
+ end
+
+ it 'returns a uri with protocol when required' do
+ ENV['HEROKU_APP_NAME'] = nil
+ ENV['BASE_URL'] = 'https://example.com'
+
+ idp = create(:ping_identity_provider)
+
+ expect(idp.sso_issuer).to eq(
+ "https://#{idp.domain}/#{idp.oauth_client_id}",
+ )
+ end
+ end
+
describe '#saml_options' do
it 'returns the required args' do
expect(subject.saml_options).
to match(
domain: subject.domain,
idp_cert: subject.sso_cert,
idp_sso_target_url: subject.sso_url,
- issuer: subject.domain,
+ issuer: subject.sso_issuer,
)
end
end
describe '#validate_sso_cert' do