99 AgentSkill ,
1010 AgentCardSignature ,
1111)
12- from a2a .utils .signing import (
13- canonicalize_agent_card ,
14- create_agent_card_signer ,
15- create_signature_verifier ,
16- InvalidSignaturesError ,
17- )
12+ from a2a .utils import signing
1813from typing import Any
1914from jwt .utils import base64url_encode
2015
@@ -63,7 +58,7 @@ def test_signer_and_verifier_symmetric(sample_agent_card: AgentCard):
6358 key = 'key12345' # Using a simple symmetric key for HS256
6459 wrong_key = 'wrongkey'
6560
66- agent_card_signer = create_agent_card_signer (
61+ agent_card_signer = signing . create_agent_card_signer (
6762 signing_key = key ,
6863 protected_header = {
6964 'alg' : 'HS384' ,
@@ -81,19 +76,19 @@ def test_signer_and_verifier_symmetric(sample_agent_card: AgentCard):
8176 assert signature .signature is not None
8277
8378 # Verify the signature
84- verifier = create_signature_verifier (
79+ verifier = signing . create_signature_verifier (
8580 create_key_provider (key ), ['HS256' , 'HS384' , 'ES256' , 'RS256' ]
8681 )
8782 try :
8883 verifier (signed_card )
89- except InvalidSignaturesError :
84+ except signing . InvalidSignaturesError :
9085 pytest .fail ('Signature verification failed with correct key' )
9186
9287 # Verify with wrong key
93- verifier_wrong_key = create_signature_verifier (
88+ verifier_wrong_key = signing . create_signature_verifier (
9489 create_key_provider (wrong_key ), ['HS256' , 'HS384' , 'ES256' , 'RS256' ]
9590 )
96- with pytest .raises (InvalidSignaturesError ):
91+ with pytest .raises (signing . InvalidSignaturesError ):
9792 verifier_wrong_key (signed_card )
9893
9994
@@ -111,7 +106,7 @@ def test_signer_and_verifier_symmetric_multiple_signatures(
111106 key = 'key12345' # Using a simple symmetric key for HS256
112107 wrong_key = 'wrongkey'
113108
114- agent_card_signer = create_agent_card_signer (
109+ agent_card_signer = signing . create_agent_card_signer (
115110 signing_key = key ,
116111 protected_header = {
117112 'alg' : 'HS384' ,
@@ -129,19 +124,19 @@ def test_signer_and_verifier_symmetric_multiple_signatures(
129124 assert signature .signature is not None
130125
131126 # Verify the signature
132- verifier = create_signature_verifier (
127+ verifier = signing . create_signature_verifier (
133128 create_key_provider (key ), ['HS256' , 'HS384' , 'ES256' , 'RS256' ]
134129 )
135130 try :
136131 verifier (signed_card )
137- except InvalidSignaturesError :
132+ except signing . InvalidSignaturesError :
138133 pytest .fail ('Signature verification failed with correct key' )
139134
140135 # Verify with wrong key
141- verifier_wrong_key = create_signature_verifier (
136+ verifier_wrong_key = signing . create_signature_verifier (
142137 create_key_provider (wrong_key ), ['HS256' , 'HS384' , 'ES256' , 'RS256' ]
143138 )
144- with pytest .raises (InvalidSignaturesError ):
139+ with pytest .raises (signing . InvalidSignaturesError ):
145140 verifier_wrong_key (signed_card )
146141
147142
@@ -156,7 +151,7 @@ def test_signer_and_verifier_asymmetric(sample_agent_card: AgentCard):
156151 )
157152 public_key_error = private_key_error .public_key ()
158153
159- agent_card_signer = create_agent_card_signer (
154+ agent_card_signer = signing . create_agent_card_signer (
160155 signing_key = private_key ,
161156 protected_header = {
162157 'alg' : 'ES256' ,
@@ -173,43 +168,18 @@ def test_signer_and_verifier_asymmetric(sample_agent_card: AgentCard):
173168 assert signature .protected is not None
174169 assert signature .signature is not None
175170
176- verifier = create_signature_verifier (
171+ verifier = signing . create_signature_verifier (
177172 create_key_provider (public_key ), ['HS256' , 'HS384' , 'ES256' , 'RS256' ]
178173 )
179174 try :
180175 verifier (signed_card )
181- except InvalidSignaturesError :
176+ except signing . InvalidSignaturesError :
182177 pytest .fail ('Signature verification failed with correct key' )
183178
184179 # Verify with wrong key
185- verifier_wrong_key = create_signature_verifier (
180+ verifier_wrong_key = signing . create_signature_verifier (
186181 create_key_provider (public_key_error ),
187182 ['HS256' , 'HS384' , 'ES256' , 'RS256' ],
188183 )
189- with pytest .raises (InvalidSignaturesError ):
184+ with pytest .raises (signing . InvalidSignaturesError ):
190185 verifier_wrong_key (signed_card )
191-
192-
193- def test_canonicalize_agent_card (
194- sample_agent_card : AgentCard ,
195- ):
196- """Test canonicalize_agent_card with defaults, optionals, and exceptions.
197-
198- - extensions is omitted as it's not set and optional.
199- - protocolVersion is included because it's always added by canonicalize_agent_card.
200- - signatures should be omitted.
201- """
202- sample_agent_card .signatures = [
203- AgentCardSignature (
204- protected = 'protected_header' , signature = 'test_signature'
205- )
206- ]
207- expected_jcs = (
208- '{"capabilities":{"pushNotifications":true},'
209- '"defaultInputModes":["text/plain"],"defaultOutputModes":["text/plain"],'
210- '"description":"A test agent","name":"Test Agent",'
211- '"skills":[{"description":"A test skill","id":"skill1","name":"Test Skill","tags":["test"]}],'
212- '"url":"http://localhost","version":"1.0.0"}'
213- )
214- result = canonicalize_agent_card (sample_agent_card )
215- assert result == expected_jcs
0 commit comments