MCPcopy Create free account
hub / github.com/mpdavis/python-jose / TestGetUnverifiedHeader

Class TestGetUnverifiedHeader

tests/test_jwe.py:76–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74
75
76class TestGetUnverifiedHeader:
77 def test_valid_header_and_auth_tag(self):
78 expected_header = {"alg": "RSA1_5", "enc": "A128CBC-HS256"}
79 jwe_str = (
80 "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0."
81 "UGhIOguC7IuEvf_NPVaXsGMoLOmwvc1GyqlIKOK1nN94nHPoltGRhWhw7"
82 "Zx0-kFm1NJn8LE9XShH59_i8J0PH5ZZyNfGy2xGdULU7sHNF6Gp2vPLgN"
83 "Z__deLKxGHZ7PcHALUzoOegEI-8E66jX2E4zyJKx-YxzZIItRzC5hlRir"
84 "b6Y5Cl_p-ko3YvkkysZIFNPccxRU7qve1WYPxqbb2Yw8kZqa2rMWI5ng8"
85 "OtvzlV7elprCbuPhcCdZ6XDP0_F8rkXds2vE4X-ncOIM8hAYHHi29NX0m"
86 "cKiRaD0-D-ljQTP-cFPgwCp6X-nZZd9OHBv-B3oWh2TbqmScqXMR4gp_A"
87 "."
88 "AxY8DCtDaGlsbGljb3RoZQ."
89 "KDlTtXchhZTGufMYmOYGS4HffxPSUrfmqCHXaI9wOGY."
90 "9hH0vgRfYgPnAHOd8stkvw"
91 )
92 actual_header = jwe.get_unverified_header(jwe_str)
93 assert expected_header == actual_header
94
95 def test_invalid_jwe_string_raises_jwe_parse_error(self):
96 with pytest.raises(JWEParseError):
97 jwe.get_unverified_header("invalid jwe string")
98
99 def test_non_json_header_section_raises_jwe_parse_error(self):
100 jwe_str = (
101 "not json."
102 "UGhIOguC7IuEvf_NPVaXsGMoLOmwvc1GyqlIKOK1nN94nHPoltGRhWhw7"
103 "Zx0-kFm1NJn8LE9XShH59_i8J0PH5ZZyNfGy2xGdULU7sHNF6Gp2vPLgN"
104 "Z__deLKxGHZ7PcHALUzoOegEI-8E66jX2E4zyJKx-YxzZIItRzC5hlRir"
105 "b6Y5Cl_p-ko3YvkkysZIFNPccxRU7qve1WYPxqbb2Yw8kZqa2rMWI5ng8"
106 "OtvzlV7elprCbuPhcCdZ6XDP0_F8rkXds2vE4X-ncOIM8hAYHHi29NX0m"
107 "cKiRaD0-D-ljQTP-cFPgwCp6X-nZZd9OHBv-B3oWh2TbqmScqXMR4gp_A"
108 "."
109 "AxY8DCtDaGlsbGljb3RoZQ."
110 "KDlTtXchhZTGufMYmOYGS4HffxPSUrfmqCHXaI9wOGY."
111 "9hH0vgRfYgPnAHOd8stkvw"
112 )
113
114 with pytest.raises(JWEParseError):
115 jwe.get_unverified_header(jwe_str)
116
117 def test_wrong_auth_tag_is_ignored(self):
118 expected_header = {"alg": "RSA1_5", "enc": "A128CBC-HS256"}
119 jwe_str = (
120 "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0."
121 "UGhIOguC7IuEvf_NPVaXsGMoLOmwvc1GyqlIKOK1nN94nHPoltGRhWhw7"
122 "Zx0-kFm1NJn8LE9XShH59_i8J0PH5ZZyNfGy2xGdULU7sHNF6Gp2vPLgN"
123 "Z__deLKxGHZ7PcHALUzoOegEI-8E66jX2E4zyJKx-YxzZIItRzC5hlRir"
124 "b6Y5Cl_p-ko3YvkkysZIFNPccxRU7qve1WYPxqbb2Yw8kZqa2rMWI5ng8"
125 "OtvzlV7elprCbuPhcCdZ6XDP0_F8rkXds2vE4X-ncOIM8hAYHHi29NX0m"
126 "cKiRaD0-D-ljQTP-cFPgwCp6X-nZZd9OHBv-B3oWh2TbqmScqXMR4gp_A"
127 "."
128 "AxY8DCtDaGlsbGljb3RoZQ."
129 "KDlTtXchhZTGufMYmOYGS4HffxPSUrfmqCHXaI9wOGY."
130 "invalid"
131 )
132 actual_header = jwe.get_unverified_header(jwe_str)
133 assert expected_header == actual_header

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…