use akv_cli::jose::Jwe;
use criterion::{criterion_group, criterion_main, Criterion};
use std::{hint::black_box, str::FromStr};
const VALID_JWE: &str = "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMTI4R0NNIiwia2lkIjoidGVzdC1rZXktaWQiLCJ0eXAiOiJKV0UifQ.EjRWeA.mrze8A.ASNFZw.iavN7w";
const INVALID_JWE: &str = "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMTI4R0NNIiwia2lkIjoidGVzdC1rZXktaWQiLCJ0eXAiOiJKV0UifQ.invalid.invalid.invalid.invalid.invalid.invalid";
fn jwe_from_str(c: &mut Criterion) {
c.bench_function("Jwe::from_str valid", |b| {
b.iter(|| {
let _ = black_box(Jwe::from_str(black_box(VALID_JWE)));
})
});
c.bench_function("Jwe::from_str invalid", |b| {
b.iter(|| {
let _ = black_box(Jwe::from_str(black_box(INVALID_JWE)));
})
});
}
criterion_group!(benches, jwe_from_str);
criterion_main!(benches);