diff options
Diffstat (limited to 'tests/test_51_client.py')
-rw-r--r-- | tests/test_51_client.py | 132 |
1 files changed, 51 insertions, 81 deletions
diff --git a/tests/test_51_client.py b/tests/test_51_client.py index 9a1ff516..e1eb85ec 100644 --- a/tests/test_51_client.py +++ b/tests/test_51_client.py @@ -183,7 +183,7 @@ class TestClient: format=saml.NAMEID_FORMAT_PERSISTENT, message_id="id1", ) - reqstr = "%s" % req.to_string().decode() + reqstr = f"{req.to_string().decode()}" assert req.destination == "https://idp.example.com/idp/" assert req.id == "id1" @@ -353,7 +353,7 @@ class TestClient: conf = config.SPConfig() conf.load_file("sp_conf_nameidpolicy") client = Saml2Client(conf) - ar_str = "%s" % client.create_authn_request("http://www.example.com/sso", message_id="id1")[1] + ar_str = f"{client.create_authn_request('http://www.example.com/sso', message_id='id1')[1]}" ar = samlp.authn_request_from_string(ar_str) assert ar.assertion_consumer_service_url == ("http://lingon.catalogix" ".se:8087/") @@ -395,7 +395,7 @@ class TestClient: def test_sign_auth_request_0(self): req_id, areq = self.client.create_authn_request("http://www.example.com/sso", sign=True, message_id="id1") - ar_str = "%s" % areq + ar_str = f"{areq}" ar = samlp.authn_request_from_string(ar_str) assert ar @@ -477,7 +477,7 @@ class TestClient: authn=AUTHN, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -562,7 +562,7 @@ class TestClient: encrypt_cert_advice=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -596,7 +596,7 @@ class TestClient: pefim=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -630,7 +630,7 @@ class TestClient: pefim=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -669,7 +669,7 @@ class TestClient: encrypt_cert_assertion=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -713,7 +713,7 @@ class TestClient: encrypt_cert_advice=cert_advice_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -750,7 +750,7 @@ class TestClient: encrypted_advice_attributes=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -788,7 +788,7 @@ class TestClient: encrypt_cert_assertion=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -937,7 +937,7 @@ class TestClient: assers = extension_elements_to_elements(enc_ass.extension_elements, [saml, samlp]) for ass in assers: if ass.signature: - if not _csec.verify_signature("%s" % ass, sign_cert_file, node_name=class_name(ass)): + if not _csec.verify_signature(f"{ass}", sign_cert_file, node_name=class_name(ass)): continue resp_ass.append(ass) @@ -989,7 +989,7 @@ class TestClient: encrypted_assertion=EncryptedAssertion(), ) - xmldoc = "%s" % response + xmldoc = f"{response}" # strangely enough I get different tags if I run this test separately # or as part of a bunch of tests. xmldoc = add_subelement(xmldoc, "EncryptedAssertion", sigass) @@ -1079,7 +1079,7 @@ class TestClient: response.assertion.append(assertion) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion), key_file=self.client.sec.key_file, node_id=a_assertion.id + f"{response}", class_name(a_assertion), key_file=self.client.sec.key_file, node_id=a_assertion.id ) # xmldoc = "%s" % response @@ -1088,10 +1088,7 @@ class TestClient: # xmldoc = add_subelement(xmldoc, "EncryptedAssertion", sigass) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -1243,14 +1240,11 @@ class TestClient: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_1), key_file=self.server.sec.key_file, node_id=a_assertion_1.id + f"{response}", class_name(a_assertion_1), key_file=self.server.sec.key_file, node_id=a_assertion_1.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -1271,14 +1265,11 @@ class TestClient: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_2), key_file=self.server.sec.key_file, node_id=a_assertion_2.id + f"{response}", class_name(a_assertion_2), key_file=self.server.sec.key_file, node_id=a_assertion_2.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -1294,7 +1285,7 @@ class TestClient: response = response.get_xml_string_with_self_contained_assertion_within_encrypted_assertion(assertion_tag) response = _sec.sign_statement( - "%s" % response, class_name(assertion_1), key_file=self.server.sec.key_file, node_id=assertion_1.id + f"{response}", class_name(assertion_1), key_file=self.server.sec.key_file, node_id=assertion_1.id ) enctext = _sec.crypto.encrypt_assertion( @@ -1319,14 +1310,11 @@ class TestClient: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_3), key_file=self.server.sec.key_file, node_id=a_assertion_3.id + f"{response}", class_name(a_assertion_3), key_file=self.server.sec.key_file, node_id=a_assertion_3.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -1348,14 +1336,11 @@ class TestClient: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_4), key_file=self.server.sec.key_file, node_id=a_assertion_4.id + f"{response}", class_name(a_assertion_4), key_file=self.server.sec.key_file, node_id=a_assertion_4.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -1365,7 +1350,7 @@ class TestClient: response = samlp.response_from_string(enctext) response = _sec.sign_statement( - "%s" % response, + f"{response}", class_name(response.assertion[0]), key_file=self.server.sec.key_file, node_id=response.assertion[0].id, @@ -1865,7 +1850,7 @@ class TestClientNonAsciiAva: format=saml.NAMEID_FORMAT_PERSISTENT, message_id="id1", ) - reqstr = "%s" % req.to_string().decode() + reqstr = f"{req.to_string().decode()}" assert req.destination == "https://idp.example.com/idp/" assert req.id == "id1" @@ -1995,7 +1980,7 @@ class TestClientNonAsciiAva: conf = config.SPConfig() conf.load_file("sp_conf_nameidpolicy") client = Saml2Client(conf) - ar_str = "%s" % client.create_authn_request("http://www.example.com/sso", message_id="id1")[1] + ar_str = f"{client.create_authn_request('http://www.example.com/sso', message_id='id1')[1]}" ar = samlp.authn_request_from_string(ar_str) assert ar.assertion_consumer_service_url == ("http://lingon.catalogix" ".se:8087/") @@ -2037,7 +2022,7 @@ class TestClientNonAsciiAva: def test_sign_auth_request_0(self): req_id, areq = self.client.create_authn_request("http://www.example.com/sso", sign=True, message_id="id1") - ar_str = "%s" % areq + ar_str = f"{areq}" ar = samlp.authn_request_from_string(ar_str) assert ar @@ -2089,7 +2074,7 @@ class TestClientNonAsciiAva: authn=AUTHN, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode("utf-8")) @@ -2174,7 +2159,7 @@ class TestClientNonAsciiAva: encrypt_cert_advice=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2208,7 +2193,7 @@ class TestClientNonAsciiAva: pefim=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2242,7 +2227,7 @@ class TestClientNonAsciiAva: pefim=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2281,7 +2266,7 @@ class TestClientNonAsciiAva: encrypt_cert_assertion=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2325,7 +2310,7 @@ class TestClientNonAsciiAva: encrypt_cert_advice=cert_advice_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2362,7 +2347,7 @@ class TestClientNonAsciiAva: encrypted_advice_attributes=True, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2400,7 +2385,7 @@ class TestClientNonAsciiAva: encrypt_cert_assertion=cert_str, ) - resp_str = "%s" % resp + resp_str = f"{resp}" resp_str = b64encode(resp_str.encode()) @@ -2601,7 +2586,7 @@ class TestClientNonAsciiAva: assers = extension_elements_to_elements(enc_ass.extension_elements, [saml, samlp]) for ass in assers: if ass.signature: - if not _csec.verify_signature("%s" % ass, sign_cert_file, node_name=class_name(ass)): + if not _csec.verify_signature(f"{ass}", sign_cert_file, node_name=class_name(ass)): continue resp_ass.append(ass) @@ -2653,7 +2638,7 @@ class TestClientNonAsciiAva: encrypted_assertion=EncryptedAssertion(), ) - xmldoc = "%s" % response + xmldoc = f"{response}" # strangely enough I get different tags if I run this test separately # or as part of a bunch of tests. xmldoc = add_subelement(xmldoc, "EncryptedAssertion", sigass) @@ -2743,7 +2728,7 @@ class TestClientNonAsciiAva: response.assertion.append(assertion) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion), key_file=self.client.sec.key_file, node_id=a_assertion.id + f"{response}", class_name(a_assertion), key_file=self.client.sec.key_file, node_id=a_assertion.id ) # xmldoc = "%s" % response @@ -2752,10 +2737,7 @@ class TestClientNonAsciiAva: # xmldoc = add_subelement(xmldoc, "EncryptedAssertion", sigass) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -2906,14 +2888,11 @@ class TestClientNonAsciiAva: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_1), key_file=self.server.sec.key_file, node_id=a_assertion_1.id + f"{response}", class_name(a_assertion_1), key_file=self.server.sec.key_file, node_id=a_assertion_1.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -2934,14 +2913,11 @@ class TestClientNonAsciiAva: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_2), key_file=self.server.sec.key_file, node_id=a_assertion_2.id + f"{response}", class_name(a_assertion_2), key_file=self.server.sec.key_file, node_id=a_assertion_2.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -2957,7 +2933,7 @@ class TestClientNonAsciiAva: response = response.get_xml_string_with_self_contained_assertion_within_encrypted_assertion(assertion_tag) response = _sec.sign_statement( - "%s" % response, class_name(assertion_1), key_file=self.server.sec.key_file, node_id=assertion_1.id + f"{response}", class_name(assertion_1), key_file=self.server.sec.key_file, node_id=assertion_1.id ) enctext = _sec.crypto.encrypt_assertion( @@ -2982,14 +2958,11 @@ class TestClientNonAsciiAva: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_3), key_file=self.server.sec.key_file, node_id=a_assertion_3.id + f"{response}", class_name(a_assertion_3), key_file=self.server.sec.key_file, node_id=a_assertion_3.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -3011,14 +2984,11 @@ class TestClientNonAsciiAva: ) response = _sec.sign_statement( - "%s" % response, class_name(a_assertion_4), key_file=self.server.sec.key_file, node_id=a_assertion_4.id + f"{response}", class_name(a_assertion_4), key_file=self.server.sec.key_file, node_id=a_assertion_4.id ) node_xpath = "".join( - [ - '/*[local-name()="%s"]' % v - for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"] - ] + [f'/*[local-name()="{v}"]' for v in ["Response", "Assertion", "Advice", "EncryptedAssertion", "Assertion"]] ) enctext = _sec.crypto.encrypt_assertion( @@ -3028,7 +2998,7 @@ class TestClientNonAsciiAva: response = samlp.response_from_string(enctext) response = _sec.sign_statement( - "%s" % response, + f"{response}", class_name(response.assertion[0]), key_file=self.server.sec.key_file, node_id=response.assertion[0].id, @@ -3063,7 +3033,7 @@ class TestClientNonAsciiAva: # Revert configuration change to disallow unsinged responses self.client.want_response_signed = True - msg_str = "%s" % self.client.create_authn_request("http://localhost:8088/sso", message_id="id1")[1] + msg_str = f"{self.client.create_authn_request('http://localhost:8088/sso', message_id='id1')[1]}" info = self.client.apply_binding( BINDING_HTTP_REDIRECT, msg_str, destination="", relay_state="relay2", sign=True, sigalg=SIG_RSA_SHA256 |