Skip to content

Commit 477c440

Browse files
committed
Format code
Signed-off-by: Ivan Kanakarakis <[email protected]>
1 parent a9037d2 commit 477c440

File tree

2 files changed

+72
-54
lines changed

2 files changed

+72
-54
lines changed

tests/test_02_saml.py

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -891,31 +891,37 @@ def _assertBearer(self, sc):
891891

892892
def testHolderOfKeyUsingTestData(self):
893893
"""Test subject_confirmation_from_string() using test data for 'holder-of-key' SubjectConfirmation"""
894+
894895
sc = saml.subject_confirmation_from_string(
895-
saml2_data.TEST_HOLDER_OF_KEY_SUBJECT_CONFIRMATION)
896+
saml2_data.TEST_HOLDER_OF_KEY_SUBJECT_CONFIRMATION
897+
)
896898
assert sc.verify()
897899
assert sc.method == saml.SCM_HOLDER_OF_KEY
898900
assert sc.subject_confirmation_data is not None
899901
assert sc.subject_confirmation_data.not_on_or_after == "2007-09-14T01:05:02Z"
900902
assert sc.subject_confirmation_data.recipient == "recipient"
901903
assert sc.subject_confirmation_data.in_response_to == "responseID"
904+
902905
key_info = sc.subject_confirmation_data.extensions_as_elements(ds.KeyInfo.c_tag, ds)
903906
assert len(key_info) == 1
904907
assert len(key_info[0].x509_data) == 1
905908

906-
expected_cert = """MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
907-
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
908-
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
909-
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
910-
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
911-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm
912-
edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex
913-
LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE
914-
dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k
915-
gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294
916-
Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce
917-
alzFxPHWYkNOzoRU8qI7OqUai1kL""".replace(' ', '')
918-
assert key_info[0].x509_data[0].x509_certificate.text.strip() == expected_cert
909+
expected_cert = (
910+
"MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV"
911+
"BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF"
912+
"Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx"
913+
"OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6"
914+
"ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0"
915+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm"
916+
"edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex"
917+
"LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE"
918+
"dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k"
919+
"gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294"
920+
"Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce"
921+
"alzFxPHWYkNOzoRU8qI7OqUai1kL"
922+
)
923+
xcert = key_info[0].x509_data[0].x509_certificate
924+
assert xcert.text.strip().replace("\n", "") == expected_cert
919925

920926

921927
class TestSubject:

tests/test_93_hok.py

Lines changed: 52 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
3+
from pathutils import dotname, full_path
4+
5+
from pytest import raises
6+
37
from saml2 import xmldsig as ds
4-
from saml2.response import authn_response, VerificationError
58
from saml2.config import config_factory
9+
from saml2.response import VerificationError
10+
from saml2.response import authn_response
611

7-
from pathutils import dotname, full_path
812

913
HOLDER_OF_KEY_RESPONSE_FILE = full_path("saml_hok.xml")
1014
INVALID_HOLDER_OF_KEY_RESPONSE_FILE = full_path("saml_hok_invalid.xml")
@@ -16,60 +20,68 @@ def test_valid_hok_response_is_parsed(self):
1620
resp = self._get_test_response(HOLDER_OF_KEY_RESPONSE_FILE)
1721
resp.do_not_verify = True
1822
resp.parse_assertion()
19-
2023
assert resp.get_subject() is not None
2124
assert len(resp.assertion.subject.subject_confirmation) == 2
22-
key_infos = [sc.subject_confirmation_data.extensions_as_elements(ds.KeyInfo.c_tag, ds)[0]
23-
for sc in resp.assertion.subject.subject_confirmation]
24-
actual_hok_certs = [key_info_element.x509_data[0].x509_certificate.text.strip()
25-
for key_info_element in key_infos]
25+
26+
actual_hok_certs = [
27+
ki.x509_data[0].x509_certificate.text.strip()
28+
for sc in resp.assertion.subject.subject_confirmation
29+
for ki in sc.subject_confirmation_data.extensions_as_elements(
30+
ds.KeyInfo.c_tag, ds
31+
)
32+
]
2633
assert actual_hok_certs == self._expected_hok_certs()
2734

2835
def _expected_hok_certs(self):
29-
certs = ["""MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
30-
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
31-
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
32-
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
33-
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
34-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm
35-
edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex
36-
LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE
37-
dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k
38-
gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294
39-
Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce
40-
alzFxPHWYkNOzoRU8qI7OqUai1kL""",
41-
"""MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV
42-
BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF
43-
Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx
44-
OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6
45-
ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0
46-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjW0kJM+4baWKtvO24ZsGXNvNK
47-
KkwTMz7OW5Z6BRqhSOq2WA0c5NCpMk6rD8Z2OTFEolPojEjf8dVyd/Ds/hrjFKQv
48-
8wQgbdXLN51YTIsgd6h+hBJO+vzhl0PT4aT7M0JKo5ALtS6qk4tsworW2BnwyvsG
49-
SAinwfeWt4t/b1J3kwIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAFtj7WArQQBugmh/
50-
KQjjlfTQ5A052QeXfgTyO9vv1S6MRIi7qgiaEv49cGXnJv/TWbySkMKObPMUApjg
51-
6z8PqcxuShew5FCTkNvwhABFPiyu0fUj3e2FEPHfsBu76jz4ugtmhUqjqhzwFY9c
52-
tnWRkkl6J0AjM3LnHOSgjNIclDZG"""]
53-
for index, item in enumerate(certs):
54-
item = item.replace(' ', '').replace('\n', '')
55-
certs[index] = item
36+
certs = [
37+
(
38+
"MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV"
39+
"BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF"
40+
"Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx"
41+
"OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6"
42+
"ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0"
43+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHcj80WU/XBsd9FlyQmfjPUdfm"
44+
"edhCFDd6TEQmZNNqP/UG+VkGa+BXjRIHMfic/WxPTbGhCjv68ci0UDNomUXagFex"
45+
"LGNpkwa7+CRVtoc/1xgq+ySE6M4nhcCutScoxNvWNn5eSQ66i3U0sTv91MgsXxqE"
46+
"dTaiZg0BIufEc3dueQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAGUV5B+USHvaRa8k"
47+
"gCNJSuNpo6ARlv0ekrk8bbdNRBiEUdCMyoGJFfuM9K0zybX6Vr25wai3nvaog294"
48+
"Vx/jWjX2g5SDbjItH6VGy6C9GCGf1A07VxFRCfJn5tA9HuJjPKiE+g/BmrV5N4Ce"
49+
"alzFxPHWYkNOzoRU8qI7OqUai1kL"
50+
),
51+
(
52+
"MIICITCCAYoCAQEwDQYJKoZIhvcNAQELBQAwWDELMAkGA1UEBhMCenoxCzAJBgNV"
53+
"BAgMAnp6MQ0wCwYDVQQHDAR6enp6MQ4wDAYDVQQKDAVaenp6ejEOMAwGA1UECwwF"
54+
"Wnp6enoxDTALBgNVBAMMBHRlc3QwIBcNMTkwNDEyMTk1MDM0WhgPMzAxODA4MTMx"
55+
"OTUwMzRaMFgxCzAJBgNVBAYTAnp6MQswCQYDVQQIDAJ6ejENMAsGA1UEBwwEenp6"
56+
"ejEOMAwGA1UECgwFWnp6enoxDjAMBgNVBAsMBVp6enp6MQ0wCwYDVQQDDAR0ZXN0"
57+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjW0kJM+4baWKtvO24ZsGXNvNK"
58+
"KkwTMz7OW5Z6BRqhSOq2WA0c5NCpMk6rD8Z2OTFEolPojEjf8dVyd/Ds/hrjFKQv"
59+
"8wQgbdXLN51YTIsgd6h+hBJO+vzhl0PT4aT7M0JKo5ALtS6qk4tsworW2BnwyvsG"
60+
"SAinwfeWt4t/b1J3kwIDAQABMA0GCSqGSIb3DQEBCwUAA4GBAFtj7WArQQBugmh/"
61+
"KQjjlfTQ5A052QeXfgTyO9vv1S6MRIi7qgiaEv49cGXnJv/TWbySkMKObPMUApjg"
62+
"6z8PqcxuShew5FCTkNvwhABFPiyu0fUj3e2FEPHfsBu76jz4ugtmhUqjqhzwFY9c"
63+
"tnWRkkl6J0AjM3LnHOSgjNIclDZG"
64+
),
65+
]
5666
return certs
5767

5868
def test_invalid_hok_response_fails_verification(self):
5969
"""Verifies that response with invalid 'holder-of-key' subject confirmations is parsed successfully."""
6070
resp = self._get_test_response(INVALID_HOLDER_OF_KEY_RESPONSE_FILE)
6171
resp.do_not_verify = True
6272

63-
try:
73+
with raises(VerificationError):
6474
resp.parse_assertion()
65-
assert False, "parse_assertion() did not fail as expected"
66-
except VerificationError as e:
67-
assert e is not None
6875

6976
def _get_test_response(self, path):
7077
conf = config_factory("idp", dotname("server_conf"))
71-
resp = authn_response(conf, "https://sp:443/.auth/saml/login", asynchop=False, allow_unsolicited=True)
72-
with open(path, 'r') as fp:
78+
resp = authn_response(
79+
conf,
80+
"https://sp:443/.auth/saml/login",
81+
asynchop=False,
82+
allow_unsolicited=True,
83+
)
84+
with open(path, "r") as fp:
7385
authn_response_xml = fp.read()
7486
resp.loads(authn_response_xml, False)
7587
return resp

0 commit comments

Comments
 (0)