Skip to content

Commit c4b0b81

Browse files
fix: openid4vp, test import file mismatch, move test in correct module
(view: 444#discussion_r2171249896, #066dc830)
1 parent 066dc83 commit c4b0b81

2 files changed

Lines changed: 75 additions & 79 deletions

File tree

pyeudiw/tests/satosa/backends/openid4vp/schemas/test_schema.py renamed to pyeudiw/tests/satosa/backends/openid4vp/schemas/test_entity_configuration.py

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -5,85 +5,6 @@
55
EntityConfigurationHeader,
66
EntityConfigurationPayload,
77
)
8-
from pyeudiw.satosa.backends.openid4vp.schemas.wallet_instance_attestation_request import (
9-
WalletInstanceAttestationRequestHeader,
10-
WalletInstanceAttestationRequestPayload,
11-
)
12-
13-
14-
def test_wir():
15-
wir_dict = {
16-
"header": {
17-
"alg": "RS256",
18-
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
19-
"typ": "var+jwt",
20-
},
21-
"payload": {
22-
"iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c",
23-
"aud": "https://wallet-provider.example.org",
24-
"jti": "6ec69324-60a8-4e5b-a697-a766d85790ea",
25-
"type": "WalletInstanceAttestationRequest",
26-
"nonce": ".....",
27-
"cnf": {
28-
"jwk": {
29-
"alg": "RS256",
30-
"kty": "RSA",
31-
"use": "sig",
32-
"x5c": [
33-
"MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4"
34-
"MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y3"
35-
"1P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/sk"
36-
"MCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCX"
37-
"YdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZI"
38-
"hvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57"
39-
"F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbP"
40-
"YBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo="
41-
],
42-
"n": "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei"
43-
"6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIA"
44-
"RRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ",
45-
"e": "AQAB",
46-
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
47-
"x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
48-
}
49-
},
50-
"iat": 1686645115,
51-
"exp": 1686652315,
52-
},
53-
}
54-
55-
WalletInstanceAttestationRequestHeader(**wir_dict["header"])
56-
WalletInstanceAttestationRequestPayload(**wir_dict["payload"])
57-
58-
WalletInstanceAttestationRequestHeader.model_validate(
59-
wir_dict["header"], context={"supported_algorithms": ["RS256"]}
60-
)
61-
with pytest.raises(ValidationError):
62-
WalletInstanceAttestationRequestHeader.model_validate(
63-
wir_dict["header"], context={"supported_algorithms": []}
64-
)
65-
with pytest.raises(ValidationError):
66-
WalletInstanceAttestationRequestHeader.model_validate(
67-
wir_dict["header"], context={"supported_algorithms": None}
68-
)
69-
with pytest.raises(ValidationError):
70-
WalletInstanceAttestationRequestHeader.model_validate(
71-
wir_dict["header"], context={"supported_algorithms": ["RS384"]}
72-
)
73-
74-
wir_dict["payload"]["type"] = "NOT_WalletInstanceAttestationRequest"
75-
with pytest.raises(ValidationError):
76-
WalletInstanceAttestationRequestPayload.model_validate(
77-
wir_dict["payload"], context={"supported_algorithms": ["RS256"]}
78-
)
79-
wir_dict["payload"]["type"] = "WalletInstanceAttestationRequest"
80-
81-
wir_dict["payload"]["cnf"] = {"wrong_name_jwk": wir_dict["payload"]["cnf"]["jwk"]}
82-
with pytest.raises(ValidationError):
83-
WalletInstanceAttestationRequestPayload.model_validate(
84-
wir_dict["payload"], context={"supported_algorithms": ["RS256"]}
85-
)
86-
wir_dict["payload"]["cnf"] = {"jwk": wir_dict["payload"]["cnf"]["wrong_name_jwk"]}
878

889

8910
def test_entity_config_header():

pyeudiw/tests/satosa/backends/openid4vp/schemas/test_wallet_instance_attestation_request.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,78 @@ def test_payload():
8484
WalletInstanceAttestationRequestPayload.model_validate(
8585
WALLET_INSTANCE_ATTESTATION_REQUEST["payload"]
8686
)
87+
88+
def test_wir():
89+
wir_dict = {
90+
"header": {
91+
"alg": "RS256",
92+
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
93+
"typ": "var+jwt",
94+
},
95+
"payload": {
96+
"iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c",
97+
"aud": "https://wallet-provider.example.org",
98+
"jti": "6ec69324-60a8-4e5b-a697-a766d85790ea",
99+
"type": "WalletInstanceAttestationRequest",
100+
"nonce": ".....",
101+
"cnf": {
102+
"jwk": {
103+
"alg": "RS256",
104+
"kty": "RSA",
105+
"use": "sig",
106+
"x5c": [
107+
"MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4"
108+
"MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y3"
109+
"1P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/sk"
110+
"MCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCX"
111+
"YdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZI"
112+
"hvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57"
113+
"F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbP"
114+
"YBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo="
115+
],
116+
"n": "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei"
117+
"6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIA"
118+
"RRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ",
119+
"e": "AQAB",
120+
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
121+
"x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg",
122+
}
123+
},
124+
"iat": 1686645115,
125+
"exp": 1686652315,
126+
},
127+
}
128+
129+
WalletInstanceAttestationRequestHeader(**wir_dict["header"])
130+
WalletInstanceAttestationRequestPayload(**wir_dict["payload"])
131+
132+
WalletInstanceAttestationRequestHeader.model_validate(
133+
wir_dict["header"], context={"supported_algorithms": ["RS256"]}
134+
)
135+
with pytest.raises(ValidationError):
136+
WalletInstanceAttestationRequestHeader.model_validate(
137+
wir_dict["header"], context={"supported_algorithms": []}
138+
)
139+
with pytest.raises(ValidationError):
140+
WalletInstanceAttestationRequestHeader.model_validate(
141+
wir_dict["header"], context={"supported_algorithms": None}
142+
)
143+
with pytest.raises(ValidationError):
144+
WalletInstanceAttestationRequestHeader.model_validate(
145+
wir_dict["header"], context={"supported_algorithms": ["RS384"]}
146+
)
147+
148+
wir_dict["payload"]["type"] = "NOT_WalletInstanceAttestationRequest"
149+
with pytest.raises(ValidationError):
150+
WalletInstanceAttestationRequestPayload.model_validate(
151+
wir_dict["payload"], context={"supported_algorithms": ["RS256"]}
152+
)
153+
wir_dict["payload"]["type"] = "WalletInstanceAttestationRequest"
154+
155+
wir_dict["payload"]["cnf"] = {"wrong_name_jwk": wir_dict["payload"]["cnf"]["jwk"]}
156+
with pytest.raises(ValidationError):
157+
WalletInstanceAttestationRequestPayload.model_validate(
158+
wir_dict["payload"], context={"supported_algorithms": ["RS256"]}
159+
)
160+
wir_dict["payload"]["cnf"] = {"jwk": wir_dict["payload"]["cnf"]["wrong_name_jwk"]}
161+

0 commit comments

Comments
 (0)