use gpgme::KeyListMode; use self::common::passphrase_cb; #[macro_use] mod common; test_case! { test_sign_key(test) { let mut ctx = test.create_context(); if !ctx.engine_info().check_version("2.1.12") { return; } ctx.add_key_list_mode(KeyListMode::SIGS).unwrap(); let signer = ctx.find_secret_keys(Some("alfa@example.net")).unwrap().nth(0).unwrap().unwrap(); ctx.add_signer(&signer).unwrap(); let mut key = ctx.find_keys(Some("bravo@example.net")).unwrap().nth(0).unwrap().unwrap(); assert!(!key.user_ids().nth(0).unwrap().signatures().any(|s| { signer.id_raw() == s.signer_key_id_raw() })); ctx.with_passphrase_provider(passphrase_cb, |ctx| { ctx.sign_key(&key, None::, Default::default()).unwrap(); }); key.update().unwrap(); assert!(key.user_ids().nth(0).unwrap().signatures().any(|s| { signer.id_raw() == s.signer_key_id_raw() })); } }