From c642e6bbd36f6640a1e50ff7e7ad296248454e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konrad=20Vit=C3=A9?= Date: Thu, 6 Feb 2025 22:09:12 +0100 Subject: [PATCH] tests: Test KeeAgentSettings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change adds testing all KeeAgentSettings fields including their XML conversions by separately: - verifying the default value, - change the current to something else, - convert the KeeAgentSettings object to XML, - convert it back to a second KeeAgentSettings object, - compare both objects to be equal and - verify that the new value landed in the field of the second KeeAgentSettings object. Signed-off-by: Konrad Vité --- tests/TestSSHAgent.cpp | 69 ++++++++++++++++++++++++++++++++++++++++++ tests/TestSSHAgent.h | 1 + 2 files changed, 70 insertions(+) diff --git a/tests/TestSSHAgent.cpp b/tests/TestSSHAgent.cpp index be3ddd2e5..5becddd5d 100644 --- a/tests/TestSSHAgent.cpp +++ b/tests/TestSSHAgent.cpp @@ -110,6 +110,75 @@ void TestSSHAgent::testConfiguration() QCOMPARE(agent.socketPath(false), defaultSocketPath); } +void TestSSHAgent::testKeeAgentSettings() +{ + KeeAgentSettings settings; + KeeAgentSettings settings2; + + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings == settings2); + + QVERIFY(!settings.allowUseOfSshKey()); + settings.setAllowUseOfSshKey(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.allowUseOfSshKey()); + QVERIFY(settings == settings2); + + QVERIFY(!settings.addAtDatabaseOpen()); + settings.setAddAtDatabaseOpen(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.addAtDatabaseOpen()); + QVERIFY(settings == settings2); + + QVERIFY(!settings.removeAtDatabaseClose()); + settings.setRemoveAtDatabaseClose(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.removeAtDatabaseClose()); + QVERIFY(settings == settings2); + + QVERIFY(!settings.useConfirmConstraintWhenAdding()); + settings.setUseConfirmConstraintWhenAdding(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.useConfirmConstraintWhenAdding()); + QVERIFY(settings == settings2); + + QVERIFY(!settings.useLifetimeConstraintWhenAdding()); + settings.setUseLifetimeConstraintWhenAdding(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.useLifetimeConstraintWhenAdding()); + QVERIFY(settings == settings2); + + QVERIFY(settings.lifetimeConstraintDuration() == 600); + settings.setLifetimeConstraintDuration(120); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.lifetimeConstraintDuration()); + QVERIFY(settings == settings2); + + QVERIFY(settings.fileName().isEmpty()); + settings.setFileName("dummy.pkey"); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.fileName() == "dummy.pkey"); + QVERIFY(settings == settings2); + + QVERIFY(settings.selectedType() == "file"); + settings.setSelectedType(QStringLiteral("attachment")); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.selectedType() == "attachment"); + QVERIFY(settings == settings2); + + QVERIFY(settings.attachmentName().isEmpty()); + settings.setAttachmentName("dummy.pkey"); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.attachmentName() == "dummy.pkey"); + QVERIFY(settings == settings2); + + QVERIFY(!settings.saveAttachmentToTempFile()); + settings.setSaveAttachmentToTempFile(true); + QVERIFY(settings2.fromXml(settings.toXml())); + QVERIFY(settings2.saveAttachmentToTempFile()); + QVERIFY(settings == settings2); +} + void TestSSHAgent::testIdentity() { SSHAgent agent; diff --git a/tests/TestSSHAgent.h b/tests/TestSSHAgent.h index 36b9b2bff..a51f4a1be 100644 --- a/tests/TestSSHAgent.h +++ b/tests/TestSSHAgent.h @@ -30,6 +30,7 @@ class TestSSHAgent : public QObject private slots: void initTestCase(); void testConfiguration(); + void testKeeAgentSettings(); void testIdentity(); void testRemoveOnClose(); void testLifetimeConstraint();