55import static org .junit .Assert .assertNull ;
66
77import java .net .URL ;
8+ import java .util .List ;
89import java .util .Map ;
910
1011import org .junit .Test ;
1112import org .w3c .dom .Document ;
1213import org .xml .sax .InputSource ;
1314
15+ import com .onelogin .saml2 .model .Contact ;
1416import com .onelogin .saml2 .settings .IdPMetadataParser ;
1517import com .onelogin .saml2 .settings .Saml2Settings ;
1618import com .onelogin .saml2 .settings .SettingsBuilder ;
@@ -211,7 +213,7 @@ public void testParseMultiSameSigningAndEncryptCert() throws Exception {
211213
212214 @ Test
213215 public void testInjectIntoSettings () throws Exception {
214- Saml2Settings setting = new SettingsBuilder ().fromFile ("config/config.min .properties" ).build ();
216+ Saml2Settings setting = new SettingsBuilder ().fromFile ("config/config.all .properties" ).build ();
215217
216218 assertEquals ("http://idp.example.com/" , setting .getIdpEntityId ());
217219 assertEquals ("http://idp.example.com/simplesaml/saml2/idp/SSOService.php" , setting .getIdpSingleSignOnServiceUrl ().toString ());
@@ -220,6 +222,14 @@ public void testInjectIntoSettings() throws Exception {
220222 assertEquals (setting .getIdpSingleLogoutServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
221223 assertEquals (Util .loadCert (Util .getFileAsString ("certs/certificate1" )), setting .getIdpx509cert ());
222224 assertEquals (setting .getSpNameIDFormat (), "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" );
225+ assertEquals ("http://localhost:8080/java-saml-jspsample/metadata.jsp" , setting .getSpEntityId ());
226+ assertEquals (Constants .RSA_SHA512 , setting .getSignatureAlgorithm ());
227+ assertEquals (Constants .SHA512 , setting .getDigestAlgorithm ());
228+ assertEquals (2 , setting .getContacts ().size ());
229+ assertEquals ("technical@example.com" , setting .getContacts ().get (0 ).getEmailAddress ());
230+ assertEquals ("support@example.com" , setting .getContacts ().get (1 ).getEmailAddress ());
231+ assertEquals ("SP Java" , setting .getOrganization ().getOrgName ());
232+ assertEquals ("EXAMPLE" , setting .getUniqueIDPrefix ());
223233
224234 Map <String , Object > idpInfo = IdPMetadataParser .parseFileXML ("data/metadata/idp/FederationMetadata.xml" );
225235 setting = IdPMetadataParser .injectIntoSettings (setting , idpInfo );
@@ -228,11 +238,52 @@ public void testInjectIntoSettings() throws Exception {
228238 assertEquals (setting .getIdpSingleSignOnServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
229239 assertEquals ("https://idp.adfs.example.com/adfs/ls/" , setting .getIdpSingleLogoutServiceUrl ().toString ());
230240 assertEquals (setting .getIdpSingleLogoutServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
231- assertEquals (setting .getSpNameIDFormat (), "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" );
232241 assertEquals (setting .getIdpx509cert (), Util .loadCert (
233242 "MIICZDCCAc2gAwIBAgIBADANBgkqhkiG9w0BAQ0FADBPMQswCQYDVQQGEwJ1czEUMBIGA1UECAwLZXhhbXBsZS5jb20xFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYDVQQDDAtleGFtcGxlLmNvbTAeFw0xNzA0MTUxMjI3NTFaFw0yNzA0MTMxMjI3NTFaME8xCzAJBgNVBAYTAnVzMRQwEgYDVQQIDAtleGFtcGxlLmNvbTEUMBIGA1UECgwLZXhhbXBsZS5jb20xFDASBgNVBAMMC2V4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYtEZ7hGZiNp+NecbcQXosYl8TzVOdL44b3Nl+BxL26Bvnt8YNnE63xiQzo7xDdO6+1MWWO26mMxwMpooTToOJgrot9YhlIX1VHIUPbOEGczSmXzCCmMhS26vR/leoLNah8QqCF1UdCoNQejb0fDCy+Q1yEdMXYkBWsFGfDSHSSQIDAQABo1AwTjAdBgNVHQ4EFgQUT1g33aGN0f6BJPgpYbr1pHrMZrYwHwYDVR0jBBgwFoAUT1g33aGN0f6BJPgpYbr1pHrMZrYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOBgQB6233Ic9bb6OCMT6hE1mRzhoP+AbixeojtUuM1IUG4JI5YUGsjsym96VBw+/ciwDLuxNYg6ZWu++WxWNwF3LwVRZGQ8bDdxYldm6VorvIbps2tzyT5N32xgMAgzy/3SZf6YOihdotXJd5AZNVp/razVO17WrjsFvldAlKtk0SM7w==" ));
234243 assertEquals (setting .getIdpx509certMulti ().get (0 ), Util .loadCert (
235244 "MIIC9jCCAd6gAwIBAgIQI/B8CLE676pCR2/QaKih9TANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDEyxBREZTIFNpZ25pbmcgLSBsb2dpbnRlc3Qub3dlbnNib3JvaGVhbHRoLm9yZzAeFw0xNjEwMjUxNjI4MzhaFw0xNzEwMjUxNjI4MzhaMDcxNTAzBgNVBAMTLEFERlMgU2lnbmluZyAtIGxvZ2ludGVzdC5vd2Vuc2Jvcm9oZWFsdGgub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjikmKRRVD5oK3fxm0xNfDqvWCujZIhtv2zeIwmoRKUAjo6KeUhauII4BHh5DclmbOFD4ruli3sNWGKgqVCX1AFW/p3m3/FtzeumFeZSmyfqeJEeOqAK5jAom/MfXxaQ85QHlGa0BTtdWdCuxhJz5G797o4s1Me/8QOQdmbkkwOHOVXRDW0QxBXvsRB1jPpIO+JvNcWFpvJrELccD0Fws91LH42j2C4gDNR8JLu5LrUGL6zAIq8NM7wfbwoax9n/0tIZKa6lo6szpXGqiMrDBJPpAqC5MSePyp5/SEX6jxwodQUGRgI5bKILQwOWDrkgfsK1MIeHfovtyqnDZj8e9VwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBKbK4qu7WTLYeQW7OcFAeWcT5D7ujo61QtPf+6eY8hpNntN8yF71vGm+5zdOjmw18igxUrf3W7dLk2wAogXK196WX34x9muorwmFK/HqmKuy0kWWzGcNzZHb0o4Md2Ux7QQVoHqD6dUSqUisOBs34ZPgT5R42LepJTGDEZSkvOxUv9V6fY5dYk8UaWbZ7MQAFi1CnOyybq2nVNjpuxWyJ6SsHQYKRhXa7XGurXFB2mlgcjVj9jxW0gO7djkgRD68b6PNpQmJkbKnkCtJg9YsSeOmuUjwgh4DlcIo5jZocKd5bnLbQ9XKJ3YQHRxFoZbP3BXKrfhVV3vqqzRxMwjZmK" ));
245+ assertEquals (setting .getSpNameIDFormat (), "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" );
246+ assertEquals ("http://localhost:8080/java-saml-jspsample/metadata.jsp" , setting .getSpEntityId ());
247+ assertEquals (Constants .RSA_SHA512 , setting .getSignatureAlgorithm ());
248+ assertEquals (Constants .SHA512 , setting .getDigestAlgorithm ());
249+ assertEquals (2 , setting .getContacts ().size ());
250+ assertEquals ("technical@example.com" , setting .getContacts ().get (0 ).getEmailAddress ());
251+ assertEquals ("support@example.com" , setting .getContacts ().get (1 ).getEmailAddress ());
252+ assertEquals ("SP Java" , setting .getOrganization ().getOrgName ());
253+ assertEquals ("EXAMPLE" , setting .getUniqueIDPrefix ());
254+
255+ Saml2Settings setting2 = new SettingsBuilder ().fromFile ("config/config.min.properties" ).build ();
256+ assertEquals ("http://idp.example.com/" , setting2 .getIdpEntityId ());
257+ assertEquals ("http://idp.example.com/simplesaml/saml2/idp/SSOService.php" , setting2 .getIdpSingleSignOnServiceUrl ().toString ());
258+ assertEquals (setting2 .getIdpSingleSignOnServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
259+ assertEquals ("http://idp.example.com/simplesaml/saml2/idp/SingleLogoutService.php" , setting2 .getIdpSingleLogoutServiceUrl ().toString ());
260+ assertEquals (setting2 .getIdpSingleLogoutServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
261+ assertEquals (Util .loadCert (Util .getFileAsString ("certs/certificate1" )), setting2 .getIdpx509cert ());
262+ assertEquals (setting2 .getSpNameIDFormat (), "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" );
263+ assertEquals ("http://localhost:8080/java-saml-jspsample/metadata.jsp" , setting2 .getSpEntityId ());
264+ assertEquals (Constants .RSA_SHA1 , setting2 .getSignatureAlgorithm ());
265+ assertEquals (Constants .SHA1 , setting2 .getDigestAlgorithm ());
266+ assertEquals (0 , setting2 .getContacts ().size ());
267+ assertNull (setting2 .getOrganization ());
268+ assertEquals (Util .UNIQUE_ID_PREFIX , setting2 .getUniqueIDPrefix ());
269+
270+ setting2 = IdPMetadataParser .injectIntoSettings (setting2 , idpInfo );
271+ assertEquals ("http://idp.adfs.example.com/adfs/services/trust" , setting2 .getIdpEntityId ());
272+ assertEquals ("https://idp.adfs.example.com/adfs/ls/" , setting2 .getIdpSingleSignOnServiceUrl ().toString ());
273+ assertEquals (setting2 .getIdpSingleSignOnServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
274+ assertEquals ("https://idp.adfs.example.com/adfs/ls/" , setting2 .getIdpSingleLogoutServiceUrl ().toString ());
275+ assertEquals (setting2 .getIdpSingleLogoutServiceBinding (), "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" );
276+ assertEquals (setting2 .getIdpx509cert (), Util .loadCert (
277+ "MIICZDCCAc2gAwIBAgIBADANBgkqhkiG9w0BAQ0FADBPMQswCQYDVQQGEwJ1czEUMBIGA1UECAwLZXhhbXBsZS5jb20xFDASBgNVBAoMC2V4YW1wbGUuY29tMRQwEgYDVQQDDAtleGFtcGxlLmNvbTAeFw0xNzA0MTUxMjI3NTFaFw0yNzA0MTMxMjI3NTFaME8xCzAJBgNVBAYTAnVzMRQwEgYDVQQIDAtleGFtcGxlLmNvbTEUMBIGA1UECgwLZXhhbXBsZS5jb20xFDASBgNVBAMMC2V4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYtEZ7hGZiNp+NecbcQXosYl8TzVOdL44b3Nl+BxL26Bvnt8YNnE63xiQzo7xDdO6+1MWWO26mMxwMpooTToOJgrot9YhlIX1VHIUPbOEGczSmXzCCmMhS26vR/leoLNah8QqCF1UdCoNQejb0fDCy+Q1yEdMXYkBWsFGfDSHSSQIDAQABo1AwTjAdBgNVHQ4EFgQUT1g33aGN0f6BJPgpYbr1pHrMZrYwHwYDVR0jBBgwFoAUT1g33aGN0f6BJPgpYbr1pHrMZrYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOBgQB6233Ic9bb6OCMT6hE1mRzhoP+AbixeojtUuM1IUG4JI5YUGsjsym96VBw+/ciwDLuxNYg6ZWu++WxWNwF3LwVRZGQ8bDdxYldm6VorvIbps2tzyT5N32xgMAgzy/3SZf6YOihdotXJd5AZNVp/razVO17WrjsFvldAlKtk0SM7w==" ));
278+ assertEquals (setting2 .getIdpx509certMulti ().get (0 ), Util .loadCert (
279+ "MIIC9jCCAd6gAwIBAgIQI/B8CLE676pCR2/QaKih9TANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDEyxBREZTIFNpZ25pbmcgLSBsb2dpbnRlc3Qub3dlbnNib3JvaGVhbHRoLm9yZzAeFw0xNjEwMjUxNjI4MzhaFw0xNzEwMjUxNjI4MzhaMDcxNTAzBgNVBAMTLEFERlMgU2lnbmluZyAtIGxvZ2ludGVzdC5vd2Vuc2Jvcm9oZWFsdGgub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjikmKRRVD5oK3fxm0xNfDqvWCujZIhtv2zeIwmoRKUAjo6KeUhauII4BHh5DclmbOFD4ruli3sNWGKgqVCX1AFW/p3m3/FtzeumFeZSmyfqeJEeOqAK5jAom/MfXxaQ85QHlGa0BTtdWdCuxhJz5G797o4s1Me/8QOQdmbkkwOHOVXRDW0QxBXvsRB1jPpIO+JvNcWFpvJrELccD0Fws91LH42j2C4gDNR8JLu5LrUGL6zAIq8NM7wfbwoax9n/0tIZKa6lo6szpXGqiMrDBJPpAqC5MSePyp5/SEX6jxwodQUGRgI5bKILQwOWDrkgfsK1MIeHfovtyqnDZj8e9VwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBKbK4qu7WTLYeQW7OcFAeWcT5D7ujo61QtPf+6eY8hpNntN8yF71vGm+5zdOjmw18igxUrf3W7dLk2wAogXK196WX34x9muorwmFK/HqmKuy0kWWzGcNzZHb0o4Md2Ux7QQVoHqD6dUSqUisOBs34ZPgT5R42LepJTGDEZSkvOxUv9V6fY5dYk8UaWbZ7MQAFi1CnOyybq2nVNjpuxWyJ6SsHQYKRhXa7XGurXFB2mlgcjVj9jxW0gO7djkgRD68b6PNpQmJkbKnkCtJg9YsSeOmuUjwgh4DlcIo5jZocKd5bnLbQ9XKJ3YQHRxFoZbP3BXKrfhVV3vqqzRxMwjZmK" ));
280+ assertEquals (setting2 .getSpNameIDFormat (), "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" );
281+ assertEquals ("http://localhost:8080/java-saml-jspsample/metadata.jsp" , setting2 .getSpEntityId ());
282+ assertEquals (Constants .RSA_SHA1 , setting2 .getSignatureAlgorithm ());
283+ assertEquals (Constants .SHA1 , setting2 .getDigestAlgorithm ());
284+ assertEquals (0 , setting2 .getContacts ().size ());
285+ assertNull (setting2 .getOrganization ());
286+ assertEquals (Util .UNIQUE_ID_PREFIX , setting2 .getUniqueIDPrefix ());
236287 }
237288
238289}
0 commit comments