|
5 | 5 | EntityConfigurationHeader, |
6 | 6 | EntityConfigurationPayload, |
7 | 7 | ) |
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"]} |
87 | 8 |
|
88 | 9 |
|
89 | 10 | def test_entity_config_header(): |
|
0 commit comments