qt: Add test for setExpire
* lang/qt/tests/t-various.cpp (TestVarious::testSetExpire): New. -- GnuPG-bug-id: 5003
This commit is contained in:
parent
aa03205fe5
commit
84c6b6e2fe
@ -170,6 +170,60 @@ private Q_SLOTS:
|
|||||||
QVERIFY(id_revoked);
|
QVERIFY(id_revoked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void testSetExpire()
|
||||||
|
{
|
||||||
|
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.22") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
KeyListJob *job = openpgp()->keyListJob(false, true, true);
|
||||||
|
std::vector<GpgME::Key> keys;
|
||||||
|
GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("alfa@example.net"),
|
||||||
|
false, keys);
|
||||||
|
delete job;
|
||||||
|
QVERIFY (!result.error());
|
||||||
|
QVERIFY (keys.size() == 1);
|
||||||
|
Key key = keys.front();
|
||||||
|
|
||||||
|
QVERIFY (key.subkey(0).expirationTime() == time_t(0));
|
||||||
|
QVERIFY (key.subkey(1).expirationTime() == time_t(0));
|
||||||
|
|
||||||
|
auto ctx = Context::createForProtocol(key.protocol());
|
||||||
|
QVERIFY (ctx);
|
||||||
|
TestPassphraseProvider provider;
|
||||||
|
ctx->setPassphraseProvider(&provider);
|
||||||
|
ctx->setPinentryMode(Context::PinentryLoopback);
|
||||||
|
|
||||||
|
// change expiration of the main key
|
||||||
|
QVERIFY(!ctx->setExpire(key, 1000));
|
||||||
|
delete ctx;
|
||||||
|
key.update();
|
||||||
|
|
||||||
|
QVERIFY (key.subkey(0).expirationTime() != time_t(0));
|
||||||
|
QVERIFY (key.subkey(1).expirationTime() == time_t(0));
|
||||||
|
time_t keyExpiration = key.subkey(0).expirationTime();
|
||||||
|
|
||||||
|
// change expiration of all subkeys
|
||||||
|
ctx = Context::createForProtocol(key.protocol());
|
||||||
|
QVERIFY(!ctx->setExpire(key, 2000, std::vector<Subkey>(), Context::SetExpireAllSubkeys));
|
||||||
|
delete ctx;
|
||||||
|
key.update();
|
||||||
|
|
||||||
|
QVERIFY (key.subkey(0).expirationTime() == keyExpiration);
|
||||||
|
QVERIFY (key.subkey(1).expirationTime() != time_t(0));
|
||||||
|
time_t subkeyExpiration = key.subkey(1).expirationTime();
|
||||||
|
|
||||||
|
// change expiration of specific subkey(s)
|
||||||
|
ctx = Context::createForProtocol(key.protocol());
|
||||||
|
std::vector<Subkey> specificSubkeys;
|
||||||
|
specificSubkeys.push_back(key.subkey(1));
|
||||||
|
QVERIFY(!ctx->setExpire(key, 3000, specificSubkeys));
|
||||||
|
delete ctx;
|
||||||
|
key.update();
|
||||||
|
|
||||||
|
QVERIFY (key.subkey(0).expirationTime() == keyExpiration);
|
||||||
|
QVERIFY (key.subkey(1).expirationTime() != subkeyExpiration);
|
||||||
|
}
|
||||||
|
|
||||||
void testVersion()
|
void testVersion()
|
||||||
{
|
{
|
||||||
QVERIFY(EngineInfo::Version("2.1.0") < EngineInfo::Version("2.1.1"));
|
QVERIFY(EngineInfo::Version("2.1.0") < EngineInfo::Version("2.1.1"));
|
||||||
|
Loading…
Reference in New Issue
Block a user