MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / parse_token_format

Function parse_token_format

nodedb/src/control/security/apikey/token.rs:98–116  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

96
97 #[test]
98 fn parse_token_format() {
99 // Build a valid token manually: 8-byte key_id, 32-byte secret.
100 let key_id_bytes = [0xde, 0xad, 0xbe, 0xef, 0xca, 0xfe, 0xba, 0xbe];
101 let secret_bytes = [0x42u8; 32];
102 let key_id_enc = base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(key_id_bytes);
103 let secret_enc = base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(secret_bytes);
104 let token = format!("ndb_{key_id_enc}.{secret_enc}");
105
106 let (kid, sec) = parse_token(&token).unwrap();
107 assert_eq!(kid, key_id_enc);
108 assert_eq!(sec, secret_enc);
109
110 // Invalid cases.
111 assert!(parse_token("not_valid").is_none());
112 assert!(parse_token("ndb_.emptykeyid").is_none());
113 assert!(parse_token("ndb_onlynoseparator").is_none());
114 // Underscore separator (no dot) rejected.
115 assert!(parse_token("ndb_abc123_secretpart").is_none());
116 }
117
118 #[test]
119 fn encode_decode_roundtrip_1000() {

Callers

nothing calls this directly

Calls 2

parse_tokenFunction · 0.85
encodeMethod · 0.45

Tested by

no test coverage detected