aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2025-02-01 23:21:59 +0000
committersaturneric <[email protected]>2025-02-01 23:21:59 +0000
commitd06c31abe7e2540518c4d3471acd381edfababa3 (patch)
tree7efec63216119a6a3b77208328ba59419acd905f /src/test
parentfix: issues found on unit test mode (diff)
downloadGpgFrontend-d06c31abe7e2540518c4d3471acd381edfababa3.tar.gz
GpgFrontend-d06c31abe7e2540518c4d3471acd381edfababa3.zip
feat: upgrade KeyGenDialog to meet easy and advanced requirements
Diffstat (limited to 'src/test')
-rw-r--r--src/test/core/GpgCoreTestBasicOpera.cpp4
-rw-r--r--src/test/core/GpgCoreTestKeygen.cpp316
-rw-r--r--src/test/core/GpgCoreTestSubkeygen.cpp166
3 files changed, 303 insertions, 183 deletions
diff --git a/src/test/core/GpgCoreTestBasicOpera.cpp b/src/test/core/GpgCoreTestBasicOpera.cpp
index 2e675766..4a593532 100644
--- a/src/test/core/GpgCoreTestBasicOpera.cpp
+++ b/src/test/core/GpgCoreTestBasicOpera.cpp
@@ -171,7 +171,7 @@ TEST_F(GpgCoreTest, CoreSignVerifyNormalTest) {
GpgBasicOperator::GetInstance().VerifySync(sign_out_buffer, GFBuffer());
ASSERT_EQ(CheckGpgError(err_0), GPG_ERR_NO_ERROR);
- ASSERT_TRUE((data_object_0->Check<GpgVerifyResult>()));
+ ASSERT_TRUE((data_object_0->Check<GpgVerifyResult, GFBuffer>()));
auto verify_result = ExtractParams<GpgVerifyResult>(data_object_0, 0);
ASSERT_FALSE(verify_result.GetSignature().empty());
ASSERT_EQ(verify_result.GetSignature().at(0).GetFingerprint(),
@@ -198,7 +198,7 @@ TEST_F(GpgCoreTest, CoreSignVerifyDetachTest) {
GpgBasicOperator::GetInstance().VerifySync(sign_text, sign_out_buffer);
ASSERT_EQ(CheckGpgError(err_0), GPG_ERR_NO_ERROR);
- ASSERT_TRUE((data_object_0->Check<GpgVerifyResult>()));
+ ASSERT_TRUE((data_object_0->Check<GpgVerifyResult, GFBuffer>()));
auto verify_result = ExtractParams<GpgVerifyResult>(data_object_0, 0);
ASSERT_FALSE(verify_result.GetSignature().empty());
ASSERT_EQ(verify_result.GetSignature().at(0).GetFingerprint(),
diff --git a/src/test/core/GpgCoreTestKeygen.cpp b/src/test/core/GpgCoreTestKeygen.cpp
index 9197e18e..aa4de244 100644
--- a/src/test/core/GpgCoreTestKeygen.cpp
+++ b/src/test/core/GpgCoreTestKeygen.cpp
@@ -37,18 +37,41 @@
namespace GpgFrontend::Test {
+TEST_F(GpgCoreTest, SearchPrimaryKeyAlgoTest) {
+ auto [find, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("rsa2048");
+ ASSERT_TRUE(find);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Name(), "RSA");
+ ASSERT_EQ(algo.Type(), "RSA");
+ ASSERT_EQ(algo.KeyLength(), 2048);
+}
+
+TEST_F(GpgCoreTest, SearchSubKeyAlgoTest) {
+ auto [find, algo] = GenKeyInfo::SearchSubKeyAlgo("rsa2048");
+ ASSERT_TRUE(find);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Name(), "RSA");
+ ASSERT_EQ(algo.Type(), "RSA");
+ ASSERT_EQ(algo.KeyLength(), 2048);
+}
+
TEST_F(GpgCoreTest, GenerateKeyRSA2048Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_0");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("foobar");
- keygen_info->SetAlgo("rsa");
- keygen_info->SetKeyLength(2048);
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_0");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("foobar");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("rsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -84,22 +107,26 @@ TEST_F(GpgCoreTest, GenerateKeyRSA2048Test) {
}
TEST_F(GpgCoreTest, GenerateKeyRSA4096Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_1");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("rsa");
- keygen_info->SetKeyLength(4096);
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_1");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("rsa4096");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "rsa4096");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -119,22 +146,26 @@ TEST_F(GpgCoreTest, GenerateKeyRSA4096Test) {
}
TEST_F(GpgCoreTest, GenerateKeyDSA2048Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_1");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("dsa");
- keygen_info->SetKeyLength(2048);
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_1");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("dsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "dsa2048");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -169,21 +200,26 @@ TEST_F(GpgCoreTest, GenerateKeyDSA2048Test) {
}
TEST_F(GpgCoreTest, GenerateKeyED25519Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -218,22 +254,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519Test) {
}
TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("cv25519");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_ec");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ std::tie(found, algo) = GenKeyInfo::SearchSubKeyAlgo("cv25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "cv25519");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -284,22 +329,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) {
}
TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec2");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("nistp256");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_ec2");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ std::tie(found, algo) = GenKeyInfo::SearchSubKeyAlgo("nistp256");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "nistp256");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -350,22 +404,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) {
}
TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec3");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc3");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("brainpoolp256r1");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_ec3");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc3");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ std::tie(found, algo) = GenKeyInfo::SearchSubKeyAlgo("brainpoolp256r1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "brainpoolp256r1");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -416,21 +479,26 @@ TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) {
}
TEST_F(GpgCoreTest, GenerateKeyNISTP256Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("nistp256");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("nistp256");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "nistp256");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -466,21 +534,26 @@ TEST_F(GpgCoreTest, GenerateKeyNISTP256Test) {
}
TEST_F(GpgCoreTest, GenerateKeyED448Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("ed448");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("ed448");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed448");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -516,21 +589,26 @@ TEST_F(GpgCoreTest, GenerateKeyED448Test) {
}
TEST_F(GpgCoreTest, GenerateKeySECP256K1Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("secp256k1");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<GenKeyInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = GenKeyInfo::SearchPrimaryKeyAlgo("secp256k1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "secp256k1");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
diff --git a/src/test/core/GpgCoreTestSubkeygen.cpp b/src/test/core/GpgCoreTestSubkeygen.cpp
index c4fe92b0..886a6f04 100644
--- a/src/test/core/GpgCoreTestSubkeygen.cpp
+++ b/src/test/core/GpgCoreTestSubkeygen.cpp
@@ -38,18 +38,22 @@
namespace GpgFrontend::Test {
TEST_F(GpgCoreTest, GenerateSubkeyRSA2048Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("rsa");
- subkeygen_info->SetKeyLength(2048);
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("rsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -77,18 +81,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyRSA2048Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyDSA2048Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("dsa");
- subkeygen_info->SetKeyLength(2048);
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("dsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "dsa2048");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -116,18 +124,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyDSA2048Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyELG2048Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("elg");
- subkeygen_info->SetKeyLength(2048);
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("elg2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "elg2048");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -155,17 +167,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyELG2048Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyED25519Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("ed25519");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -193,17 +210,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyED25519Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyCV25519Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("cv25519");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("cv25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "cv25519");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -231,16 +253,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyCV25519Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyNISTP256Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("nistp256");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "nistp256");
+ s_info->SetAlgo(algo);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("nistp256");
- subkeygen_info->SetNonExpired(true);
+ s_info->SetNonExpired(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -268,16 +295,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyNISTP256Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyBRAINPOOLP256R1Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("brainpoolp256r1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "brainpoolp256r1");
+ s_info->SetAlgo(algo);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("brainpoolp256r1");
- subkeygen_info->SetNonExpired(true);
+ s_info->SetNonExpired(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -305,16 +337,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyBRAINPOOLP256R1Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeyX448Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("x448");
- subkeygen_info->SetNonExpired(true);
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("x448");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "x448");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -342,16 +379,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyX448Test) {
}
TEST_F(GpgCoreTest, GenerateSubkeySECP256K1Test) {
- auto main_key = GpgKeyGetter::GetInstance().GetKey(
+ auto p_key = GpgKeyGetter::GetInstance().GetKey(
"E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29");
- ASSERT_TRUE(main_key.IsGood());
+ ASSERT_TRUE(p_key.IsGood());
+
+ auto s_info = QSharedPointer<GenKeyInfo>::create(true);
+
+ auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("secp256k1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "secp256k1");
+ s_info->SetAlgo(algo);
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("secp256k1");
- subkeygen_info->SetNonExpired(true);
+ s_info->SetNonExpired(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateSubkeySync(main_key, subkeygen_info);
+ .GenerateSubkeySync(p_key, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);