Skip to content

Commit 65af4be

Browse files
author
Alex Bublichenko
committed
Clean up and fix tests for python 3.* versions
1 parent 5d82767 commit 65af4be

File tree

2 files changed

+46
-35
lines changed

2 files changed

+46
-35
lines changed

tests/test_02_saml.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -901,19 +901,20 @@ def testHolderOfKeyUsingTestData(self):
901901
key_info = sc.subject_confirmation_data.key_info
902902
assert len(key_info) == 1
903903
assert len(key_info[0].x509_data) == 1
904-
assert key_info[0].x509_data[0].x509_certificate.text.strip() == """
905-
MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
906-
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
907-
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
908-
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
909-
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
910-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm
911-
edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex
912-
LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE
913-
dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k
914-
gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294
915-
Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce
916-
alzFxPHWYkNOzoRU8qI7OqUai1kL""".strip()
904+
905+
expected_cert = """MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
906+
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
907+
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
908+
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
909+
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
910+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm
911+
edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex
912+
LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE
913+
dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k
914+
gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294
915+
Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce
916+
alzFxPHWYkNOzoRU8qI7OqUai1kL""".replace(' ', '')
917+
assert key_info[0].x509_data[0].x509_certificate.text.strip() == expected_cert
917918

918919

919920
class TestSubject:

tests/test_93_hok.py

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
3-
from contextlib import closing
4-
from datetime import datetime
5-
from dateutil import parser
6-
from string import translate, whitespace
7-
from saml2.authn_context import INTERNETPROTOCOLPASSWORD
8-
9-
from saml2.server import Server
103
from saml2.response import authn_response
114
from saml2.config import config_factory
125

136
from pathutils import dotname, full_path
147

15-
# Example SAML response iwth 'holder-of-key' subject confirmtaions
16-
# containing DER-base64 copies (without PEM enclosure) of test_1.crt and test_2.crt
178
HOLDER_OF_KEY_RESPONSE_FILE = full_path("saml_hok.xml")
189

19-
TEST_CERT_1 = full_path("test_1.crt")
20-
TEST_CERT_2 = full_path("test_2.crt")
21-
2210

2311
class TestHolderOfKeyResponse:
2412
def test_hok_response_is_parsed(self):
@@ -34,17 +22,39 @@ def test_hok_response_is_parsed(self):
3422

3523
assert resp.get_subject() is not None
3624
assert len(resp.assertion.subject.subject_confirmation) == 2
37-
actual_certs = [sc.subject_confirmation_data.key_info[0].x509_data[0].x509_certificate.text.strip()
25+
actual_hok_certs = [sc.subject_confirmation_data.key_info[0].x509_data[0].x509_certificate.text.strip()
3826
for sc in resp.assertion.subject.subject_confirmation]
39-
expected_certs = [self._read_cert_without_pem_enclosure(TEST_CERT_1),
40-
self._read_cert_without_pem_enclosure(TEST_CERT_2)]
41-
assert actual_certs == expected_certs
42-
43-
def _read_cert_without_pem_enclosure(self, path):
44-
with open(path, 'r') as fp:
45-
lines = fp.readlines()
46-
lines_without_enclosure = lines[1:-1]
47-
return ''.join(lines_without_enclosure).translate(None, whitespace)
27+
assert actual_hok_certs == self._expected_hok_certs()
28+
29+
def _expected_hok_certs(self):
30+
certs = ["""MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
31+
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
32+
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
33+
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
34+
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
35+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm
36+
edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex
37+
LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE
38+
dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k
39+
gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294
40+
Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce
41+
alzFxPHWYkNOzoRU8qI7OqUai1kL""",
42+
"""MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
43+
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
44+
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
45+
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
46+
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
47+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjW0kJM+4baWKtvO24ZsGXNvNK
48+
KkwTMz7OW5Z6BRqhSOq2WA0c5NCpMk6rD8Z2OTFEolPojEjf8dVyd/Ds/hrjFKQv
49+
8wQgbdXLN51YTIsgd6h+hBJO+vzhl0PT4aT7M0JKo5ALtS6qk4tsworW2BnwyvsG
50+
SAinwfeWt4t/b1J3kwIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAFtj7WArQQBugmh/
51+
KQjjlfTQ5A052QeXfgTyO9vv1S6MRIi7qgiaEv49cGXnJv/TWbySkMKObPMUApjg
52+
6z8PqcxuShew5FCTkNvwhABFPiyu0fUj3e2FEPHfsBu76jz4ugtmhUqjqhzwFY9c
53+
tnWRkkl6J0AjM3LnHOSgjNIclDZG"""]
54+
for index, item in enumerate(certs):
55+
item = item.replace(' ', '').replace('\n', '')
56+
certs[index] = item
57+
return certs
4858

4959

5060
if __name__ == "__main__":

0 commit comments

Comments
 (0)