use gpgme::{CreateKeyFlags, ExportMode};
use self::common::passphrase_cb;
#[macro_use]
mod common;
test_case! {
test_export(test) {
let mut ctx = test.create_context().set_passphrase_provider(passphrase_cb);
ctx.set_offline(true);
ctx.set_armor(true);
let key = ctx.find_keys(Some("alfa@example.net")).unwrap().nth(0).unwrap().unwrap();
let mut data = Vec::new();
ctx.export(key.fingerprint_raw(), ExportMode::empty(), &mut data).unwrap();
assert!(!data.is_empty());
}
test_export_secret(test) {
let mut ctx = test.create_context();
ctx.set_offline(true);
ctx.set_armor(true);
let res = match ctx.create_key_with_flags("test user <test@example.com>",
"future-default", Default::default(), CreateKeyFlags::NOPASSWD) {
Ok(r) => r,
Err(e) if e.code() == gpgme::Error::NOT_SUPPORTED.code() => return,
Err(e) => panic!("error: {:?}", e),
};
let fpr = res.fingerprint_raw().unwrap();
let mut data = Vec::new();
ctx.export(Some(fpr), ExportMode::SECRET, &mut data).unwrap();
assert!(!data.is_empty());
}
}