database: add test for selfsig check
This commit is contained in:
parent
6bdd1bde22
commit
05e1029037
|
@ -754,6 +754,15 @@ mod tests {
|
|||
db.check_consistency().expect("inconsistent database");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn no_selfsig() {
|
||||
let tmpdir = TempDir::new().unwrap();
|
||||
let mut db = Filesystem::new_from_base(tmpdir.path()).unwrap();
|
||||
|
||||
test::test_no_selfsig(&mut db);
|
||||
db.check_consistency().expect("inconsistent database");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bad_uids() {
|
||||
let tmpdir = TempDir::new().unwrap();
|
||||
|
|
|
@ -841,3 +841,21 @@ pub fn test_bad_uids<D: Database>(db: &mut D) {
|
|||
unparsed_uids: 2,
|
||||
}, tpk_status);
|
||||
}
|
||||
|
||||
pub fn test_no_selfsig<D: Database>(db: &mut D) {
|
||||
let (mut tpk, revocation) = TPKBuilder::new()
|
||||
.generate()
|
||||
.unwrap();
|
||||
|
||||
// don't allow upload of naked key
|
||||
assert!(db.merge(tpk.clone()).is_err());
|
||||
|
||||
// with revocation, it's ok
|
||||
tpk = tpk.merge_packets(vec![revocation.into()]).unwrap();
|
||||
let tpk_status = db.merge(tpk).unwrap().into_tpk_status();
|
||||
assert_eq!(TpkStatus {
|
||||
is_revoked: true,
|
||||
email_status: vec!(),
|
||||
unparsed_uids: 0,
|
||||
}, tpk_status);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue