use base64::Engine as _;
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
use uuid::Uuid;
pub(super) fn kafka_uuid_string() -> String {
loop {
let encoded = URL_SAFE_NO_PAD.encode(Uuid::new_v4().as_bytes());
if !encoded.starts_with('-') {
return encoded;
}
}
}
#[cfg(test)]
mod tests {
use super::kafka_uuid_string;
#[test]
fn kafka_uuid_string_uses_kafka_base64_format() {
let id = kafka_uuid_string();
assert_eq!(id.len(), 22);
assert!(!id.starts_with('-'));
assert!(!id.contains('='));
}
}