use sbat::{ImageSbat, ParseError, RevocationSbat, ValidationResult};
fn main() -> Result<(), ParseError> {
let image_sbat_a1 = b"sbat,1\nCompA,1";
let image_sbat_a2 = b"sbat,1\nCompA,2";
let revocation_sbat = b"sbat,1,2021030218\nCompA,2";
let image_sbat = ImageSbat::parse(image_sbat_a1)?;
let revocations = RevocationSbat::parse(revocation_sbat)?;
assert_eq!(
revocations.validate_image(image_sbat),
ValidationResult::Revoked(image_sbat.entries().last().unwrap()),
);
let image_sbat = ImageSbat::parse(image_sbat_a2)?;
assert_eq!(
revocations.validate_image(image_sbat),
ValidationResult::Allowed,
);
Ok(())
}