()
| 1377 | |
| 1378 | |
| 1379 | def test_parse_json(): |
| 1380 | json_msg = """ |
| 1381 | { |
| 1382 | "protected": "eyJhbGciOiJFQ0RILTFQVStBMTI4S1ciLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYXB1IjoiUVd4cFkyVSIsImFwdiI6IlFtOWlJR0Z1WkNCRGFHRnliR2xsIiwiZXBrIjp7Imt0eSI6Ik9LUCIsImNydiI6IlgyNTUxOSIsIngiOiJrOW9mX2NwQWFqeTBwb1c1Z2FpeFhHczluSGt3ZzFBRnFVQUZhMzlkeUJjIn19", |
| 1383 | "unprotected": { |
| 1384 | "jku": "https://provider.test/jwks" |
| 1385 | }, |
| 1386 | "recipients": [ |
| 1387 | { |
| 1388 | "header": { |
| 1389 | "kid": "bob-key-2" |
| 1390 | }, |
| 1391 | "encrypted_key": "pOMVA9_PtoRe7xXW1139NzzN1UhiFoio8lGto9cf0t8PyU-sjNXH8-LIRLycq8CHJQbDwvQeU1cSl55cQ0hGezJu2N9IY0QN" |
| 1392 | }, |
| 1393 | { |
| 1394 | "header": { |
| 1395 | "kid": "2021-05-06" |
| 1396 | }, |
| 1397 | "encrypted_key": "56GVudgRLIMEElQ7DpXsijJVRSWUSDNdbWkdV3g0GUNq6hcT_GkxwnxlPIWrTXCqRpVKQC8fe4z3PQ2YH2afvjQ28aiCTWFE" |
| 1398 | } |
| 1399 | ], |
| 1400 | "iv": "AAECAwQFBgcICQoLDA0ODw", |
| 1401 | "ciphertext": "Az2IWsISEMDJvyc5XRL-3-d-RgNBOGolCsxFFoUXFYw", |
| 1402 | "tag": "HLb4fTlm8spGmij3RyOs2gJ4DpHM4hhVRwdF_hGb3WQ" |
| 1403 | }""" |
| 1404 | |
| 1405 | parsed_msg = JsonWebEncryption.parse_json(json_msg) |
| 1406 | |
| 1407 | assert parsed_msg == { |
| 1408 | "protected": "eyJhbGciOiJFQ0RILTFQVStBMTI4S1ciLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYXB1IjoiUVd4cFkyVSIsImFwdiI6IlFtOWlJR0Z1WkNCRGFHRnliR2xsIiwiZXBrIjp7Imt0eSI6Ik9LUCIsImNydiI6IlgyNTUxOSIsIngiOiJrOW9mX2NwQWFqeTBwb1c1Z2FpeFhHczluSGt3ZzFBRnFVQUZhMzlkeUJjIn19", |
| 1409 | "unprotected": {"jku": "https://provider.test/jwks"}, |
| 1410 | "recipients": [ |
| 1411 | { |
| 1412 | "header": {"kid": "bob-key-2"}, |
| 1413 | "encrypted_key": "pOMVA9_PtoRe7xXW1139NzzN1UhiFoio8lGto9cf0t8PyU-sjNXH8-LIRLycq8CHJQbDwvQeU1cSl55cQ0hGezJu2N9IY0QN", |
| 1414 | }, |
| 1415 | { |
| 1416 | "header": {"kid": "2021-05-06"}, |
| 1417 | "encrypted_key": "56GVudgRLIMEElQ7DpXsijJVRSWUSDNdbWkdV3g0GUNq6hcT_GkxwnxlPIWrTXCqRpVKQC8fe4z3PQ2YH2afvjQ28aiCTWFE", |
| 1418 | }, |
| 1419 | ], |
| 1420 | "iv": "AAECAwQFBgcICQoLDA0ODw", |
| 1421 | "ciphertext": "Az2IWsISEMDJvyc5XRL-3-d-RgNBOGolCsxFFoUXFYw", |
| 1422 | "tag": "HLb4fTlm8spGmij3RyOs2gJ4DpHM4hhVRwdF_hGb3WQ", |
| 1423 | } |
| 1424 | |
| 1425 | |
| 1426 | def test_parse_json_fails_if_json_msg_is_invalid(): |
nothing calls this directly
no test coverage detected
searching dependent graphs…