|
14 | 14 |
|
15 | 15 |
|
16 | 16 | class OneLogin_Saml2_Settings_Test(unittest.TestCase): |
17 | | - data_path = join(dirname(__file__), '..', '..', '..', 'data') |
18 | | - settings_path = join(dirname(__file__), '..', '..', '..', 'settings') |
| 17 | + data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data') |
| 18 | + settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings') |
19 | 19 |
|
20 | | - def loadSettingsJSON(self): |
21 | | - filename = join(self.settings_path, 'settings1.json') |
| 20 | + def loadSettingsJSON(self, name='settings1.json'): |
| 21 | + filename = join(self.settings_path, name) |
22 | 22 | if exists(filename): |
23 | 23 | stream = open(filename, 'r') |
24 | 24 | settings = json.load(stream) |
@@ -186,6 +186,21 @@ def testGetSPCert(self): |
186 | 186 | settings_3 = OneLogin_Saml2_Settings(settings_data, custom_base_path=custom_base_path) |
187 | 187 | self.assertIsNone(settings_3.get_sp_cert()) |
188 | 188 |
|
| 189 | + def testGetSPCertNew(self): |
| 190 | + """ |
| 191 | + Tests the get_sp_cert_new method of the OneLogin_Saml2_Settings |
| 192 | + """ |
| 193 | + settings_data = self.loadSettingsJSON() |
| 194 | + cert = "-----BEGIN CERTIFICATE-----\nMIICgTCCAeoCCQCbOlrWDdX7FTANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMC\nTk8xGDAWBgNVBAgTD0FuZHJlYXMgU29sYmVyZzEMMAoGA1UEBxMDRm9vMRAwDgYD\nVQQKEwdVTklORVRUMRgwFgYDVQQDEw9mZWlkZS5lcmxhbmcubm8xITAfBgkqhkiG\n9w0BCQEWEmFuZHJlYXNAdW5pbmV0dC5ubzAeFw0wNzA2MTUxMjAxMzVaFw0wNzA4\nMTQxMjAxMzVaMIGEMQswCQYDVQQGEwJOTzEYMBYGA1UECBMPQW5kcmVhcyBTb2xi\nZXJnMQwwCgYDVQQHEwNGb28xEDAOBgNVBAoTB1VOSU5FVFQxGDAWBgNVBAMTD2Zl\naWRlLmVybGFuZy5ubzEhMB8GCSqGSIb3DQEJARYSYW5kcmVhc0B1bmluZXR0Lm5v\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDivbhR7P516x/S3BqKxupQe0LO\nNoliupiBOesCO3SHbDrl3+q9IbfnfmE04rNuMcPsIxB161TdDpIesLCn7c8aPHIS\nKOtPlAeTZSnb8QAu7aRjZq3+PbrP5uW3TcfCGPtKTytHOge/OlJbo078dVhXQ14d\n1EDwXJW1rRXuUt4C8QIDAQABMA0GCSqGSIb3DQEBBQUAA4GBACDVfp86HObqY+e8\nBUoWQ9+VMQx1ASDohBjwOsg2WykUqRXF+dLfcUH9dWR63CtZIKFDbStNomPnQz7n\nbK+onygwBspVEbnHuUihZq3ZUdmumQqCw4Uvs/1Uvq3orOo/WJVhTyvLgFVK2Qar\nQ4/67OZfHd7R+POBXhophSMv1ZOo\n-----END CERTIFICATE-----\n" |
| 195 | + settings = OneLogin_Saml2_Settings(settings_data) |
| 196 | + self.assertEqual(cert, settings.get_sp_cert()) |
| 197 | + self.assertIsNone(settings.get_sp_cert_new()) |
| 198 | + |
| 199 | + settings = OneLogin_Saml2_Settings(self.loadSettingsJSON('settings7.json')) |
| 200 | + cert_new = "-----BEGIN CERTIFICATE-----\nMIICVDCCAb2gAwIBAgIBADANBgkqhkiG9w0BAQ0FADBHMQswCQYDVQQGEwJ1czEQ\nMA4GA1UECAwHZXhhbXBsZTEQMA4GA1UECgwHZXhhbXBsZTEUMBIGA1UEAwwLZXhh\nbXBsZS5jb20wHhcNMTcwNDA3MDgzMDAzWhcNMjcwNDA1MDgzMDAzWjBHMQswCQYD\nVQQGEwJ1czEQMA4GA1UECAwHZXhhbXBsZTEQMA4GA1UECgwHZXhhbXBsZTEUMBIG\nA1UEAwwLZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKhP\nS4/0azxbQekHHewQGKD7Pivr3CDpsrKxY3xlVanxj427OwzOb5KUVzsDEazumt6s\nZFY8HfidsjXY4EYA4ZzyL7ciIAR5vlAsIYN9nJ4AwVDnN/RjVwj+TN6BqWPLpVIp\nHc6Dl005HyE0zJnk1DZDn2tQVrIzbD3FhCp7YeotAgMBAAGjUDBOMB0GA1UdDgQW\nBBRYZx4thASfNvR/E7NsCF2IaZ7wIDAfBgNVHSMEGDAWgBRYZx4thASfNvR/E7Ns\nCF2IaZ7wIDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBDQUAA4GBACz4aobx9aG3\nkh+rNyrlgM3K6dYfnKG1/YH5sJCAOvg8kDr0fQAQifH8lFVWumKUMoAe0bFTfwWt\np/VJ8MprrEJth6PFeZdczpuv+fpLcNj2VmNVJqvQYvS4m36OnBFh1QFZW8UrbFIf\ndtm2nuZ+twSKqfKwjLdqcoX0p39h7Uw/\n-----END CERTIFICATE-----\n" |
| 201 | + self.assertEqual(cert, settings.get_sp_cert()) |
| 202 | + self.assertEqual(cert_new, settings.get_sp_cert_new()) |
| 203 | + |
189 | 204 | def testGetSPKey(self): |
190 | 205 | """ |
191 | 206 | Tests the get_sp_key method of the OneLogin_Saml2_Settings |
@@ -395,6 +410,23 @@ def testGetSPMetadata(self): |
395 | 410 | self.assertIn('<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://stuff.com/endpoints/endpoints/acs.php" index="1"/>', metadata) |
396 | 411 | self.assertIn('<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://stuff.com/endpoints/endpoints/sls.php"/>', metadata) |
397 | 412 | self.assertIn('<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>', metadata) |
| 413 | + self.assertEquals(2, metadata.count('<md:KeyDescriptor')) |
| 414 | + self.assertEquals(1, metadata.count('<md:KeyDescriptor use="signing"')) |
| 415 | + self.assertEquals(1, metadata.count('<md:KeyDescriptor use="encryption"')) |
| 416 | + |
| 417 | + def testGetSPMetadataWithx509certNew(self): |
| 418 | + """ |
| 419 | + Tests the getSPMetadata method of the OneLogin_Saml2_Settings |
| 420 | + Case with x509certNew |
| 421 | + """ |
| 422 | + settings = OneLogin_Saml2_Settings(self.loadSettingsJSON('settings7.json')) |
| 423 | + metadata = settings.get_sp_metadata() |
| 424 | + |
| 425 | + self.assertNotEqual(len(metadata), 0) |
| 426 | + self.assertIn('<md:SPSSODescriptor', metadata) |
| 427 | + self.assertEquals(4, metadata.count('<md:KeyDescriptor')) |
| 428 | + self.assertEquals(2, metadata.count('<md:KeyDescriptor use="signing"')) |
| 429 | + self.assertEquals(2, metadata.count('<md:KeyDescriptor use="encryption"')) |
398 | 430 |
|
399 | 431 | def testGetSPMetadataSigned(self): |
400 | 432 | """ |
|
0 commit comments