File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3535
3636
3737@skip_if_no_xmlsec
38- def test_sign_timestamp_if_present ():
38+ @pytest .mark .parametrize ("digest_method,expected_digest_href" , DIGEST_METHODS_TESTDATA )
39+ @pytest .mark .parametrize (
40+ "signature_method,expected_signature_href" , SIGNATURE_METHODS_TESTDATA
41+ )
42+ def test_sign_timestamp_if_present (
43+ digest_method ,
44+ signature_method ,
45+ expected_digest_href ,
46+ expected_signature_href ,
47+ ):
3948 envelope = load_xml (
4049 """
4150 <soap-env:Envelope
@@ -63,8 +72,23 @@ def test_sign_timestamp_if_present():
6372 """
6473 )
6574
66- signature .sign_envelope (envelope , KEY_FILE , KEY_FILE )
75+ signature .sign_envelope (
76+ envelope ,
77+ KEY_FILE ,
78+ KEY_FILE ,
79+ None ,
80+ signature_method = getattr (xmlsec_installed .Transform , signature_method ),
81+ digest_method = getattr (xmlsec_installed .Transform , digest_method ),
82+ )
6783 signature .verify_envelope (envelope , KEY_FILE )
84+ digests = envelope .xpath ("//ds:DigestMethod" , namespaces = {"ds" : ns .DS })
85+ assert len (digests )
86+ for digest in digests :
87+ assert digest .get ("Algorithm" ) == expected_digest_href
88+ signatures = envelope .xpath ("//ds:SignatureMethod" , namespaces = {"ds" : ns .DS })
89+ assert len (signatures )
90+ for sig in signatures :
91+ assert sig .get ("Algorithm" ) == expected_signature_href
6892
6993
7094@skip_if_no_xmlsec
You can’t perform that action at this time.
0 commit comments