MCPcopy Create free account
hub / github.com/Keats/jsonwebtoken / encode_with_extra_non_string_header

Function encode_with_extra_non_string_header

tests/hmac.rs:113–143  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

111#[test]
112#[wasm_bindgen_test]
113fn encode_with_extra_non_string_header() {
114 let my_claims = Claims {
115 sub: "b@b.com".to_string(),
116 company: "ACME".to_string(),
117 exp: OffsetDateTime::now_utc().unix_timestamp() + 10000,
118 };
119 let foo: u32 = 1;
120 let bar: i32 = -2345;
121 let mut extras = Extras::default();
122 extras.insert("foo", foo);
123 extras.insert("bar", bar);
124 let header = Header { extras, ..Default::default() };
125 let token = encode(&header, &my_claims, &EncodingKey::from_secret(b"secret")).unwrap();
126 let token_data = decode::<Claims>(
127 &token,
128 &DecodingKey::from_secret(b"secret"),
129 &Validation::new(Algorithm::HS256),
130 )
131 .unwrap();
132 let extras = token_data.header.extras;
133 assert_eq!(extras.inner().len(), 2);
134 assert_eq!(extras.get("foo").unwrap(), Some(foo));
135 assert_eq!(extras.get("bar").unwrap(), Some(bar));
136 assert!(extras.get::<bool>("baz").unwrap().is_none());
137 assert!(extras.get::<u32>("bar").is_err_and(|e| {
138 match e.into_kind() {
139 ErrorKind::Json(error) => error.is_data(),
140 _ => false,
141 }
142 }));
143}
144
145#[test]
146#[wasm_bindgen_test]

Callers

nothing calls this directly

Calls 2

insertMethod · 0.80
encodeFunction · 0.50

Tested by

no test coverage detected