From a0f0fd98efa12ef33959badcc25ff568e8b242b4 Mon Sep 17 00:00:00 2001 From: saturneric Date: Wed, 6 Dec 2023 21:10:48 +0800 Subject: feat: move test to src and add submodule googletest --- src/test/core/GpgCoreTestKeyModel.cpp | 179 ++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 src/test/core/GpgCoreTestKeyModel.cpp (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp new file mode 100644 index 00000000..ff3fbbf8 --- /dev/null +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -0,0 +1,179 @@ +/** + * Copyright (C) 2021 Saturneric + * + * This file is part of GpgFrontend. + * + * GpgFrontend is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GpgFrontend is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GpgFrontend. If not, see . + * + * The initial version of the source code is inherited from + * the gpg4usb project, which is under GPL-3.0-or-later. + * + * All the source code of GpgFrontend was modified and released by + * Saturneric starting on May 12, 2021. + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#include "GpgCoreTest.h" +#include "core/function/gpg/GpgContext.h" +#include "core/function/gpg/GpgKeyGetter.h" +#include "core/model/GpgData.h" +#include "core/model/GpgKey.h" +#include "core/utils/GpgUtils.h" + +namespace GpgFrontend::Test { + +TEST_F(GpgCoreTest, CoreInitTest) { + auto& ctx = GpgContext::GetInstance(kGpgFrontendDefaultChannel); + auto& ctx_default = GpgContext::GetInstance(); + ASSERT_TRUE(ctx.Good()); + ASSERT_TRUE(ctx_default.Good()); +} + +TEST_F(GpgCoreTest, GpgDataTest) { + auto data_buff = std::string( + "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); + + GpgData data(data_buff.data(), data_buff.size()); + + auto out_buffer = data.Read2Buffer(); + ASSERT_EQ(out_buffer->size(), 64); +} + +TEST_F(GpgCoreTest, GpgKeyTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_TRUE(key.IsGood()); + ASSERT_TRUE(key.IsPrivateKey()); + ASSERT_TRUE(key.IsHasMasterKey()); + + ASSERT_FALSE(key.IsDisabled()); + ASSERT_FALSE(key.IsRevoked()); + + ASSERT_EQ(key.GetProtocol(), "OpenPGP"); + + ASSERT_EQ(key.GetSubKeys()->size(), 2); + ASSERT_EQ(key.GetUIDs()->size(), 1); + + ASSERT_TRUE(key.IsHasCertificationCapability()); + ASSERT_TRUE(key.IsHasEncryptionCapability()); + ASSERT_TRUE(key.IsHasSigningCapability()); + ASSERT_FALSE(key.IsHasAuthenticationCapability()); + ASSERT_TRUE(key.IsHasActualCertificationCapability()); + ASSERT_TRUE(key.IsHasActualEncryptionCapability()); + ASSERT_TRUE(key.IsHasActualSigningCapability()); + ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); + + ASSERT_EQ(key.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(key.GetComment().empty()); + ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); + ASSERT_EQ(key.GetId(), "81704859182661FB"); + ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_EQ(key.GetExpireTime(), + boost::posix_time::from_iso_string("20230905T040000")); + ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); + ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); + ASSERT_EQ(key.GetLastUpdateTime(), + boost::posix_time::from_iso_string("19700101T000000")); + ASSERT_EQ(key.GetCreateTime(), + boost::posix_time::from_iso_string("20210905T060153")); + + ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); + + ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < + boost::posix_time::second_clock::local_time()); +} + +TEST_F(GpgCoreTest, GpgSubKeyTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto sub_keys = key.GetSubKeys(); + ASSERT_EQ(sub_keys->size(), 2); + + auto& sub_key = sub_keys->back(); + + ASSERT_FALSE(sub_key.IsRevoked()); + ASSERT_FALSE(sub_key.IsDisabled()); + ASSERT_EQ(sub_key.GetCreateTime(), + boost::posix_time::from_iso_string("20210905T060153")); + + ASSERT_FALSE(sub_key.IsCardKey()); + ASSERT_TRUE(sub_key.IsPrivateKey()); + ASSERT_EQ(sub_key.GetID(), "2B36803235B5E25B"); + ASSERT_EQ(sub_key.GetFingerprint(), + "50D37E8F8EE7340A6794E0592B36803235B5E25B"); + ASSERT_EQ(sub_key.GetKeyLength(), 3072); + ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); + ASSERT_FALSE(sub_key.IsHasCertificationCapability()); + ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); + ASSERT_FALSE(sub_key.IsHasSigningCapability()); + ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); + ASSERT_EQ(key.GetExpireTime(), + boost::posix_time::from_iso_string("20230905T040000")); + + ASSERT_EQ( + sub_key.IsExpired(), + sub_key.GetExpireTime() < boost::posix_time::second_clock::local_time()); +} + +TEST_F(GpgCoreTest, GpgUIDTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto uids = key.GetUIDs(); + ASSERT_EQ(uids->size(), 1); + auto& uid = uids->front(); + + ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(uid.GetComment().empty()); + ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); + ASSERT_EQ(uid.GetUID(), + "GpgFrontendTest "); + ASSERT_FALSE(uid.GetInvalid()); + ASSERT_FALSE(uid.GetRevoked()); +} + +TEST_F(GpgCoreTest, GpgKeySignatureTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto uids = key.GetUIDs(); + ASSERT_EQ(uids->size(), 1); + auto& uid = uids->front(); + + auto signatures = uid.GetSignatures(); + ASSERT_EQ(signatures->size(), 1); + auto& signature = signatures->front(); + + ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(signature.GetComment().empty()); + ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); + ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); + ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); + + ASSERT_FALSE(signature.IsRevoked()); + ASSERT_FALSE(signature.IsInvalid()); + ASSERT_EQ(CheckGpgError(signature.GetStatus()), GPG_ERR_NO_ERROR); + ASSERT_EQ(signature.GetUID(), + "GpgFrontendTest "); +} + +TEST_F(GpgCoreTest, GpgKeyGetterTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_TRUE(key.IsGood()); + auto keys = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel).FetchKey(); + ASSERT_TRUE(find(keys->begin(), keys->end(), key) != keys->end()); +} + +} // namespace GpgFrontend::Test \ No newline at end of file -- cgit v1.2.3 From f5cf83e4b3fdf1e9ae82b00f39e45e189809c419 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 15 Dec 2023 17:04:59 +0800 Subject: fix: slove some issues on memory and intilizations --- src/test/core/GpgCoreTestKeyModel.cpp | 282 +++++++++++++++++----------------- 1 file changed, 142 insertions(+), 140 deletions(-) (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp index ff3fbbf8..7e31ea62 100644 --- a/src/test/core/GpgCoreTestKeyModel.cpp +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -35,145 +35,147 @@ namespace GpgFrontend::Test { -TEST_F(GpgCoreTest, CoreInitTest) { - auto& ctx = GpgContext::GetInstance(kGpgFrontendDefaultChannel); - auto& ctx_default = GpgContext::GetInstance(); - ASSERT_TRUE(ctx.Good()); - ASSERT_TRUE(ctx_default.Good()); -} - -TEST_F(GpgCoreTest, GpgDataTest) { - auto data_buff = std::string( - "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); - - GpgData data(data_buff.data(), data_buff.size()); - - auto out_buffer = data.Read2Buffer(); - ASSERT_EQ(out_buffer->size(), 64); -} - -TEST_F(GpgCoreTest, GpgKeyTest) { - auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) - .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); - ASSERT_TRUE(key.IsGood()); - ASSERT_TRUE(key.IsPrivateKey()); - ASSERT_TRUE(key.IsHasMasterKey()); - - ASSERT_FALSE(key.IsDisabled()); - ASSERT_FALSE(key.IsRevoked()); - - ASSERT_EQ(key.GetProtocol(), "OpenPGP"); - - ASSERT_EQ(key.GetSubKeys()->size(), 2); - ASSERT_EQ(key.GetUIDs()->size(), 1); - - ASSERT_TRUE(key.IsHasCertificationCapability()); - ASSERT_TRUE(key.IsHasEncryptionCapability()); - ASSERT_TRUE(key.IsHasSigningCapability()); - ASSERT_FALSE(key.IsHasAuthenticationCapability()); - ASSERT_TRUE(key.IsHasActualCertificationCapability()); - ASSERT_TRUE(key.IsHasActualEncryptionCapability()); - ASSERT_TRUE(key.IsHasActualSigningCapability()); - ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); - - ASSERT_EQ(key.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(key.GetComment().empty()); - ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); - ASSERT_EQ(key.GetId(), "81704859182661FB"); - ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); - ASSERT_EQ(key.GetExpireTime(), - boost::posix_time::from_iso_string("20230905T040000")); - ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); - ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); - ASSERT_EQ(key.GetLastUpdateTime(), - boost::posix_time::from_iso_string("19700101T000000")); - ASSERT_EQ(key.GetCreateTime(), - boost::posix_time::from_iso_string("20210905T060153")); - - ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); - - ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < - boost::posix_time::second_clock::local_time()); -} - -TEST_F(GpgCoreTest, GpgSubKeyTest) { - auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) - .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); - auto sub_keys = key.GetSubKeys(); - ASSERT_EQ(sub_keys->size(), 2); - - auto& sub_key = sub_keys->back(); - - ASSERT_FALSE(sub_key.IsRevoked()); - ASSERT_FALSE(sub_key.IsDisabled()); - ASSERT_EQ(sub_key.GetCreateTime(), - boost::posix_time::from_iso_string("20210905T060153")); - - ASSERT_FALSE(sub_key.IsCardKey()); - ASSERT_TRUE(sub_key.IsPrivateKey()); - ASSERT_EQ(sub_key.GetID(), "2B36803235B5E25B"); - ASSERT_EQ(sub_key.GetFingerprint(), - "50D37E8F8EE7340A6794E0592B36803235B5E25B"); - ASSERT_EQ(sub_key.GetKeyLength(), 3072); - ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); - ASSERT_FALSE(sub_key.IsHasCertificationCapability()); - ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); - ASSERT_FALSE(sub_key.IsHasSigningCapability()); - ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); - ASSERT_EQ(key.GetExpireTime(), - boost::posix_time::from_iso_string("20230905T040000")); - - ASSERT_EQ( - sub_key.IsExpired(), - sub_key.GetExpireTime() < boost::posix_time::second_clock::local_time()); -} - -TEST_F(GpgCoreTest, GpgUIDTest) { - auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) - .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); - auto uids = key.GetUIDs(); - ASSERT_EQ(uids->size(), 1); - auto& uid = uids->front(); - - ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(uid.GetComment().empty()); - ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); - ASSERT_EQ(uid.GetUID(), - "GpgFrontendTest "); - ASSERT_FALSE(uid.GetInvalid()); - ASSERT_FALSE(uid.GetRevoked()); -} - -TEST_F(GpgCoreTest, GpgKeySignatureTest) { - auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) - .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); - auto uids = key.GetUIDs(); - ASSERT_EQ(uids->size(), 1); - auto& uid = uids->front(); - - auto signatures = uid.GetSignatures(); - ASSERT_EQ(signatures->size(), 1); - auto& signature = signatures->front(); - - ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(signature.GetComment().empty()); - ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); - ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); - ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); - - ASSERT_FALSE(signature.IsRevoked()); - ASSERT_FALSE(signature.IsInvalid()); - ASSERT_EQ(CheckGpgError(signature.GetStatus()), GPG_ERR_NO_ERROR); - ASSERT_EQ(signature.GetUID(), - "GpgFrontendTest "); -} - -TEST_F(GpgCoreTest, GpgKeyGetterTest) { - auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) - .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); - ASSERT_TRUE(key.IsGood()); - auto keys = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel).FetchKey(); - ASSERT_TRUE(find(keys->begin(), keys->end(), key) != keys->end()); -} +// TEST_F(GpgCoreTest, CoreInitTest) { +// auto& ctx = GpgContext::GetInstance(kGpgFrontendDefaultChannel); +// auto& ctx_default = GpgContext::GetInstance(); +// ASSERT_TRUE(ctx.Good()); +// ASSERT_TRUE(ctx_default.Good()); +// } + +// TEST_F(GpgCoreTest, GpgDataTest) { +// auto data_buff = std::string( +// "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); + +// GpgData data(data_buff.data(), data_buff.size()); + +// auto out_buffer = data.Read2Buffer(); +// ASSERT_EQ(out_buffer->size(), 64); +// } + +// TEST_F(GpgCoreTest, GpgKeyTest) { +// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) +// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); +// ASSERT_TRUE(key.IsGood()); +// ASSERT_TRUE(key.IsPrivateKey()); +// ASSERT_TRUE(key.IsHasMasterKey()); + +// ASSERT_FALSE(key.IsDisabled()); +// ASSERT_FALSE(key.IsRevoked()); + +// ASSERT_EQ(key.GetProtocol(), "OpenPGP"); + +// ASSERT_EQ(key.GetSubKeys()->size(), 2); +// ASSERT_EQ(key.GetUIDs()->size(), 1); + +// ASSERT_TRUE(key.IsHasCertificationCapability()); +// ASSERT_TRUE(key.IsHasEncryptionCapability()); +// ASSERT_TRUE(key.IsHasSigningCapability()); +// ASSERT_FALSE(key.IsHasAuthenticationCapability()); +// ASSERT_TRUE(key.IsHasActualCertificationCapability()); +// ASSERT_TRUE(key.IsHasActualEncryptionCapability()); +// ASSERT_TRUE(key.IsHasActualSigningCapability()); +// ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); + +// ASSERT_EQ(key.GetName(), "GpgFrontendTest"); +// ASSERT_TRUE(key.GetComment().empty()); +// ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); +// ASSERT_EQ(key.GetId(), "81704859182661FB"); +// ASSERT_EQ(key.GetFingerprint(), +// "9490795B78F8AFE9F93BD09281704859182661FB"); ASSERT_EQ(key.GetExpireTime(), +// boost::posix_time::from_iso_string("20230905T040000")); +// ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); +// ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); +// ASSERT_EQ(key.GetLastUpdateTime(), +// boost::posix_time::from_iso_string("19700101T000000")); +// ASSERT_EQ(key.GetCreateTime(), +// boost::posix_time::from_iso_string("20210905T060153")); + +// ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); + +// ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < +// boost::posix_time::second_clock::local_time()); +// } + +// TEST_F(GpgCoreTest, GpgSubKeyTest) { +// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) +// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); +// auto sub_keys = key.GetSubKeys(); +// ASSERT_EQ(sub_keys->size(), 2); + +// auto& sub_key = sub_keys->back(); + +// ASSERT_FALSE(sub_key.IsRevoked()); +// ASSERT_FALSE(sub_key.IsDisabled()); +// ASSERT_EQ(sub_key.GetCreateTime(), +// boost::posix_time::from_iso_string("20210905T060153")); + +// ASSERT_FALSE(sub_key.IsCardKey()); +// ASSERT_TRUE(sub_key.IsPrivateKey()); +// ASSERT_EQ(sub_key.GetID(), "2B36803235B5E25B"); +// ASSERT_EQ(sub_key.GetFingerprint(), +// "50D37E8F8EE7340A6794E0592B36803235B5E25B"); +// ASSERT_EQ(sub_key.GetKeyLength(), 3072); +// ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); +// ASSERT_FALSE(sub_key.IsHasCertificationCapability()); +// ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); +// ASSERT_FALSE(sub_key.IsHasSigningCapability()); +// ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); +// ASSERT_EQ(key.GetExpireTime(), +// boost::posix_time::from_iso_string("20230905T040000")); + +// ASSERT_EQ( +// sub_key.IsExpired(), +// sub_key.GetExpireTime() < +// boost::posix_time::second_clock::local_time()); +// } + +// TEST_F(GpgCoreTest, GpgUIDTest) { +// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) +// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); +// auto uids = key.GetUIDs(); +// ASSERT_EQ(uids->size(), 1); +// auto& uid = uids->front(); + +// ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); +// ASSERT_TRUE(uid.GetComment().empty()); +// ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); +// ASSERT_EQ(uid.GetUID(), +// "GpgFrontendTest "); +// ASSERT_FALSE(uid.GetInvalid()); +// ASSERT_FALSE(uid.GetRevoked()); +// } + +// TEST_F(GpgCoreTest, GpgKeySignatureTest) { +// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) +// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); +// auto uids = key.GetUIDs(); +// ASSERT_EQ(uids->size(), 1); +// auto& uid = uids->front(); + +// auto signatures = uid.GetSignatures(); +// ASSERT_EQ(signatures->size(), 1); +// auto& signature = signatures->front(); + +// ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); +// ASSERT_TRUE(signature.GetComment().empty()); +// ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); +// ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); +// ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); + +// ASSERT_FALSE(signature.IsRevoked()); +// ASSERT_FALSE(signature.IsInvalid()); +// ASSERT_EQ(CheckGpgError(signature.GetStatus()), GPG_ERR_NO_ERROR); +// ASSERT_EQ(signature.GetUID(), +// "GpgFrontendTest "); +// } + +// TEST_F(GpgCoreTest, GpgKeyGetterTest) { +// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) +// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); +// ASSERT_TRUE(key.IsGood()); +// auto keys = +// GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel).FetchKey(); +// ASSERT_TRUE(find(keys->begin(), keys->end(), key) != keys->end()); +// } } // namespace GpgFrontend::Test \ No newline at end of file -- cgit v1.2.3 From 08dd9b43481d189c60acc58941005dc25a58c77f Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 15 Dec 2023 23:11:32 -0800 Subject: fix: repair test cases --- src/test/core/GpgCoreTestKeyModel.cpp | 285 +++++++++++++++++----------------- 1 file changed, 143 insertions(+), 142 deletions(-) (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp index 7e31ea62..3618bcb9 100644 --- a/src/test/core/GpgCoreTestKeyModel.cpp +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -26,6 +26,8 @@ * */ +#include + #include "GpgCoreTest.h" #include "core/function/gpg/GpgContext.h" #include "core/function/gpg/GpgKeyGetter.h" @@ -35,147 +37,146 @@ namespace GpgFrontend::Test { -// TEST_F(GpgCoreTest, CoreInitTest) { -// auto& ctx = GpgContext::GetInstance(kGpgFrontendDefaultChannel); -// auto& ctx_default = GpgContext::GetInstance(); -// ASSERT_TRUE(ctx.Good()); -// ASSERT_TRUE(ctx_default.Good()); -// } - -// TEST_F(GpgCoreTest, GpgDataTest) { -// auto data_buff = std::string( -// "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); - -// GpgData data(data_buff.data(), data_buff.size()); - -// auto out_buffer = data.Read2Buffer(); -// ASSERT_EQ(out_buffer->size(), 64); -// } - -// TEST_F(GpgCoreTest, GpgKeyTest) { -// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) -// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); -// ASSERT_TRUE(key.IsGood()); -// ASSERT_TRUE(key.IsPrivateKey()); -// ASSERT_TRUE(key.IsHasMasterKey()); - -// ASSERT_FALSE(key.IsDisabled()); -// ASSERT_FALSE(key.IsRevoked()); - -// ASSERT_EQ(key.GetProtocol(), "OpenPGP"); - -// ASSERT_EQ(key.GetSubKeys()->size(), 2); -// ASSERT_EQ(key.GetUIDs()->size(), 1); - -// ASSERT_TRUE(key.IsHasCertificationCapability()); -// ASSERT_TRUE(key.IsHasEncryptionCapability()); -// ASSERT_TRUE(key.IsHasSigningCapability()); -// ASSERT_FALSE(key.IsHasAuthenticationCapability()); -// ASSERT_TRUE(key.IsHasActualCertificationCapability()); -// ASSERT_TRUE(key.IsHasActualEncryptionCapability()); -// ASSERT_TRUE(key.IsHasActualSigningCapability()); -// ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); - -// ASSERT_EQ(key.GetName(), "GpgFrontendTest"); -// ASSERT_TRUE(key.GetComment().empty()); -// ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); -// ASSERT_EQ(key.GetId(), "81704859182661FB"); -// ASSERT_EQ(key.GetFingerprint(), -// "9490795B78F8AFE9F93BD09281704859182661FB"); ASSERT_EQ(key.GetExpireTime(), -// boost::posix_time::from_iso_string("20230905T040000")); -// ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); -// ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); -// ASSERT_EQ(key.GetLastUpdateTime(), -// boost::posix_time::from_iso_string("19700101T000000")); -// ASSERT_EQ(key.GetCreateTime(), -// boost::posix_time::from_iso_string("20210905T060153")); - -// ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); - -// ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < -// boost::posix_time::second_clock::local_time()); -// } - -// TEST_F(GpgCoreTest, GpgSubKeyTest) { -// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) -// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); -// auto sub_keys = key.GetSubKeys(); -// ASSERT_EQ(sub_keys->size(), 2); - -// auto& sub_key = sub_keys->back(); - -// ASSERT_FALSE(sub_key.IsRevoked()); -// ASSERT_FALSE(sub_key.IsDisabled()); -// ASSERT_EQ(sub_key.GetCreateTime(), -// boost::posix_time::from_iso_string("20210905T060153")); - -// ASSERT_FALSE(sub_key.IsCardKey()); -// ASSERT_TRUE(sub_key.IsPrivateKey()); -// ASSERT_EQ(sub_key.GetID(), "2B36803235B5E25B"); -// ASSERT_EQ(sub_key.GetFingerprint(), -// "50D37E8F8EE7340A6794E0592B36803235B5E25B"); -// ASSERT_EQ(sub_key.GetKeyLength(), 3072); -// ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); -// ASSERT_FALSE(sub_key.IsHasCertificationCapability()); -// ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); -// ASSERT_FALSE(sub_key.IsHasSigningCapability()); -// ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); -// ASSERT_EQ(key.GetExpireTime(), -// boost::posix_time::from_iso_string("20230905T040000")); - -// ASSERT_EQ( -// sub_key.IsExpired(), -// sub_key.GetExpireTime() < -// boost::posix_time::second_clock::local_time()); -// } - -// TEST_F(GpgCoreTest, GpgUIDTest) { -// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) -// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); -// auto uids = key.GetUIDs(); -// ASSERT_EQ(uids->size(), 1); -// auto& uid = uids->front(); - -// ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); -// ASSERT_TRUE(uid.GetComment().empty()); -// ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); -// ASSERT_EQ(uid.GetUID(), -// "GpgFrontendTest "); -// ASSERT_FALSE(uid.GetInvalid()); -// ASSERT_FALSE(uid.GetRevoked()); -// } - -// TEST_F(GpgCoreTest, GpgKeySignatureTest) { -// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) -// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); -// auto uids = key.GetUIDs(); -// ASSERT_EQ(uids->size(), 1); -// auto& uid = uids->front(); - -// auto signatures = uid.GetSignatures(); -// ASSERT_EQ(signatures->size(), 1); -// auto& signature = signatures->front(); - -// ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); -// ASSERT_TRUE(signature.GetComment().empty()); -// ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.bktus.com"); -// ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); -// ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); - -// ASSERT_FALSE(signature.IsRevoked()); -// ASSERT_FALSE(signature.IsInvalid()); -// ASSERT_EQ(CheckGpgError(signature.GetStatus()), GPG_ERR_NO_ERROR); -// ASSERT_EQ(signature.GetUID(), -// "GpgFrontendTest "); -// } - -// TEST_F(GpgCoreTest, GpgKeyGetterTest) { -// auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) -// .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); -// ASSERT_TRUE(key.IsGood()); -// auto keys = -// GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel).FetchKey(); -// ASSERT_TRUE(find(keys->begin(), keys->end(), key) != keys->end()); -// } +TEST_F(GpgCoreTest, CoreInitTest) { + auto& ctx = GpgContext::GetInstance(kGpgFrontendDefaultChannel); + auto& ctx_default = GpgContext::GetInstance(); + ASSERT_TRUE(ctx.Good()); + ASSERT_TRUE(ctx_default.Good()); +} + +TEST_F(GpgCoreTest, GpgDataTest) { + auto data_buff = std::string( + "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); + + GpgData data(data_buff.data(), data_buff.size()); + + auto out_buffer = data.Read2Buffer(); + ASSERT_EQ(out_buffer->size(), 64); +} + +TEST_F(GpgCoreTest, GpgKeyTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_TRUE(key.IsGood()); + ASSERT_TRUE(key.IsPrivateKey()); + ASSERT_TRUE(key.IsHasMasterKey()); + + ASSERT_FALSE(key.IsDisabled()); + ASSERT_FALSE(key.IsRevoked()); + + ASSERT_EQ(key.GetProtocol(), "OpenPGP"); + + ASSERT_EQ(key.GetSubKeys()->size(), 2); + ASSERT_EQ(key.GetUIDs()->size(), 1); + + ASSERT_TRUE(key.IsHasCertificationCapability()); + ASSERT_FALSE(key.IsHasEncryptionCapability()); + ASSERT_TRUE(key.IsHasSigningCapability()); + ASSERT_FALSE(key.IsHasAuthenticationCapability()); + ASSERT_FALSE(key.IsHasActualCertificationCapability()); + ASSERT_FALSE(key.IsHasActualEncryptionCapability()); + ASSERT_FALSE(key.IsHasActualSigningCapability()); + ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); + + ASSERT_EQ(key.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(key.GetComment().empty()); + ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.pub"); + ASSERT_EQ(key.GetId(), "81704859182661FB"); + ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_EQ(key.GetExpireTime(), + boost::posix_time::from_iso_string("20230905T040000")); + ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); + ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); + ASSERT_EQ(key.GetLastUpdateTime(), + boost::posix_time::from_iso_string("19700101T000000")); + ASSERT_EQ(key.GetCreateTime(), + boost::posix_time::from_iso_string("20210905T060153")); + + ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); + + ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < + boost::posix_time::second_clock::local_time()); +} + +TEST_F(GpgCoreTest, GpgSubKeyTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto sub_keys = key.GetSubKeys(); + ASSERT_EQ(sub_keys->size(), 2); + + auto& sub_key = sub_keys->back(); + + ASSERT_FALSE(sub_key.IsRevoked()); + ASSERT_FALSE(sub_key.IsDisabled()); + ASSERT_EQ(sub_key.GetCreateTime(), + boost::posix_time::from_iso_string("20210905T060153")); + + ASSERT_FALSE(sub_key.IsCardKey()); + ASSERT_TRUE(sub_key.IsPrivateKey()); + ASSERT_EQ(sub_key.GetID(), "2B36803235B5E25B"); + ASSERT_EQ(sub_key.GetFingerprint(), + "50D37E8F8EE7340A6794E0592B36803235B5E25B"); + ASSERT_EQ(sub_key.GetKeyLength(), 3072); + ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); + ASSERT_FALSE(sub_key.IsHasCertificationCapability()); + ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); + ASSERT_FALSE(sub_key.IsHasSigningCapability()); + ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); + ASSERT_EQ(key.GetExpireTime(), + boost::posix_time::from_iso_string("20230905T040000")); + + ASSERT_EQ( + sub_key.IsExpired(), + sub_key.GetExpireTime() < boost::posix_time::second_clock::local_time()); +} + +TEST_F(GpgCoreTest, GpgUIDTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto uids = key.GetUIDs(); + ASSERT_EQ(uids->size(), 1); + auto& uid = uids->front(); + + ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(uid.GetComment().empty()); + ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.pub"); + ASSERT_EQ(uid.GetUID(), "GpgFrontendTest "); + ASSERT_FALSE(uid.GetInvalid()); + ASSERT_FALSE(uid.GetRevoked()); +} + +TEST_F(GpgCoreTest, GpgKeySignatureTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + auto uids = key.GetUIDs(); + ASSERT_EQ(uids->size(), 1); + auto& uid = uids->front(); + + auto signatures = uid.GetSignatures(); + ASSERT_EQ(signatures->size(), 1); + auto& signature = signatures->front(); + + ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); + ASSERT_TRUE(signature.GetComment().empty()); + ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.pub"); + ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); + ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); + + ASSERT_FALSE(signature.IsRevoked()); + ASSERT_FALSE(signature.IsInvalid()); + ASSERT_EQ(CheckGpgError(signature.GetStatus()), GPG_ERR_NO_ERROR); + ASSERT_EQ(signature.GetUID(), + "GpgFrontendTest "); +} + +TEST_F(GpgCoreTest, GpgKeyGetterTest) { + auto key = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel) + .GetKey("9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_TRUE(key.IsGood()); + auto keys = GpgKeyGetter::GetInstance(kGpgFrontendDefaultChannel).FetchKey(); + + EXPECT_GT(keys->size(), 0); + ASSERT_TRUE(find(keys->begin(), keys->end(), key) != keys->end()); +} } // namespace GpgFrontend::Test \ No newline at end of file -- cgit v1.2.3 From bf538056b24a68b8fd235b1c50991ee8eb46a776 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 12 Jan 2024 14:02:37 +0800 Subject: refactor: use QString instead of std::string and improve threading system --- src/test/core/GpgCoreTestKeyModel.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp index 3618bcb9..1f3a5292 100644 --- a/src/test/core/GpgCoreTestKeyModel.cpp +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -45,13 +45,13 @@ TEST_F(GpgCoreTest, CoreInitTest) { } TEST_F(GpgCoreTest, GpgDataTest) { - auto data_buff = std::string( + auto data_buff = QString( "cqEh8fyKWtmiXrW2zzlszJVGJrpXDDpzgP7ZELGxhfZYFi8rMrSVKDwrpFZBSWMG"); GpgData data(data_buff.data(), data_buff.size()); - auto out_buffer = data.Read2Buffer(); - ASSERT_EQ(out_buffer->size(), 64); + auto out_buffer = data.Read2GFBuffer(); + ASSERT_EQ(out_buffer.Size(), 64); } TEST_F(GpgCoreTest, GpgKeyTest) { @@ -79,7 +79,7 @@ TEST_F(GpgCoreTest, GpgKeyTest) { ASSERT_FALSE(key.IsHasActualAuthenticationCapability()); ASSERT_EQ(key.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(key.GetComment().empty()); + ASSERT_TRUE(key.GetComment().isEmpty()); ASSERT_EQ(key.GetEmail(), "gpgfrontend@gpgfrontend.pub"); ASSERT_EQ(key.GetId(), "81704859182661FB"); ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); @@ -138,7 +138,7 @@ TEST_F(GpgCoreTest, GpgUIDTest) { auto& uid = uids->front(); ASSERT_EQ(uid.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(uid.GetComment().empty()); + ASSERT_TRUE(uid.GetComment().isEmpty()); ASSERT_EQ(uid.GetEmail(), "gpgfrontend@gpgfrontend.pub"); ASSERT_EQ(uid.GetUID(), "GpgFrontendTest "); ASSERT_FALSE(uid.GetInvalid()); @@ -157,7 +157,7 @@ TEST_F(GpgCoreTest, GpgKeySignatureTest) { auto& signature = signatures->front(); ASSERT_EQ(signature.GetName(), "GpgFrontendTest"); - ASSERT_TRUE(signature.GetComment().empty()); + ASSERT_TRUE(signature.GetComment().isEmpty()); ASSERT_EQ(signature.GetEmail(), "gpgfrontend@gpgfrontend.pub"); ASSERT_EQ(signature.GetKeyID(), "81704859182661FB"); ASSERT_EQ(signature.GetPubkeyAlgo(), "RSA"); -- cgit v1.2.3 From 6983b5c1dd82d159236ebd06cf17f071cc9c1ee9 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 12 Jan 2024 23:08:38 +0800 Subject: refactor: remove boost and use QString instead of std::filesystem::path --- src/test/core/GpgCoreTestKeyModel.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp index 1f3a5292..cf1fd9ea 100644 --- a/src/test/core/GpgCoreTestKeyModel.cpp +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -84,18 +84,18 @@ TEST_F(GpgCoreTest, GpgKeyTest) { ASSERT_EQ(key.GetId(), "81704859182661FB"); ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); ASSERT_EQ(key.GetExpireTime(), - boost::posix_time::from_iso_string("20230905T040000")); + QDateTime::fromString("20230905T040000", Qt::ISODate)); ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); ASSERT_EQ(key.GetLastUpdateTime(), - boost::posix_time::from_iso_string("19700101T000000")); + QDateTime::fromString("19700101T000000", Qt::ISODate)); ASSERT_EQ(key.GetCreateTime(), - boost::posix_time::from_iso_string("20210905T060153")); + QDateTime::fromString("20210905T060153", Qt::ISODate)); ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); - ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < - boost::posix_time::second_clock::local_time()); + ASSERT_EQ(key.IsExpired(), + key.GetExpireTime() < QDateTime::currentDateTime()); } TEST_F(GpgCoreTest, GpgSubKeyTest) { @@ -109,7 +109,7 @@ TEST_F(GpgCoreTest, GpgSubKeyTest) { ASSERT_FALSE(sub_key.IsRevoked()); ASSERT_FALSE(sub_key.IsDisabled()); ASSERT_EQ(sub_key.GetCreateTime(), - boost::posix_time::from_iso_string("20210905T060153")); + QDateTime::fromString("20210905T060153", Qt::ISODate)); ASSERT_FALSE(sub_key.IsCardKey()); ASSERT_TRUE(sub_key.IsPrivateKey()); @@ -123,11 +123,10 @@ TEST_F(GpgCoreTest, GpgSubKeyTest) { ASSERT_FALSE(sub_key.IsHasSigningCapability()); ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); ASSERT_EQ(key.GetExpireTime(), - boost::posix_time::from_iso_string("20230905T040000")); + QDateTime::fromString("20230905T040000", Qt::ISODate)); - ASSERT_EQ( - sub_key.IsExpired(), - sub_key.GetExpireTime() < boost::posix_time::second_clock::local_time()); + ASSERT_EQ(sub_key.IsExpired(), + sub_key.GetExpireTime() < QDateTime::currentDateTime()); } TEST_F(GpgCoreTest, GpgUIDTest) { -- cgit v1.2.3 From e0d2c4021483e6e1366c1050ccb5a30e53e172bb Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 18 Jan 2024 20:58:37 +0800 Subject: fix: add test cases and solve discovered issues --- src/test/core/GpgCoreTestKeyModel.cpp | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'src/test/core/GpgCoreTestKeyModel.cpp') diff --git a/src/test/core/GpgCoreTestKeyModel.cpp b/src/test/core/GpgCoreTestKeyModel.cpp index cf1fd9ea..1e75a7f9 100644 --- a/src/test/core/GpgCoreTestKeyModel.cpp +++ b/src/test/core/GpgCoreTestKeyModel.cpp @@ -84,16 +84,16 @@ TEST_F(GpgCoreTest, GpgKeyTest) { ASSERT_EQ(key.GetId(), "81704859182661FB"); ASSERT_EQ(key.GetFingerprint(), "9490795B78F8AFE9F93BD09281704859182661FB"); ASSERT_EQ(key.GetExpireTime(), - QDateTime::fromString("20230905T040000", Qt::ISODate)); + QDateTime::fromString("2023-09-05T04:00:00Z", Qt::ISODate)); ASSERT_EQ(key.GetPublicKeyAlgo(), "RSA"); + ASSERT_EQ(key.GetKeyAlgo(), "RSA3072"); ASSERT_EQ(key.GetPrimaryKeyLength(), 3072); ASSERT_EQ(key.GetLastUpdateTime(), - QDateTime::fromString("19700101T000000", Qt::ISODate)); + QDateTime::fromString("1970-01-01T00:00:00Z", Qt::ISODate)); ASSERT_EQ(key.GetCreateTime(), - QDateTime::fromString("20210905T060153", Qt::ISODate)); + QDateTime::fromString("2021-09-05T06:01:53Z", Qt::ISODate)); ASSERT_EQ(key.GetOwnerTrust(), "Unknown"); - ASSERT_EQ(key.IsExpired(), key.GetExpireTime() < QDateTime::currentDateTime()); } @@ -104,12 +104,26 @@ TEST_F(GpgCoreTest, GpgSubKeyTest) { auto sub_keys = key.GetSubKeys(); ASSERT_EQ(sub_keys->size(), 2); + auto& main_key = sub_keys->front(); + + ASSERT_EQ(main_key.GetID(), "81704859182661FB"); + ASSERT_EQ(main_key.GetFingerprint(), + "9490795B78F8AFE9F93BD09281704859182661FB"); + ASSERT_EQ(main_key.GetExpireTime(), + QDateTime::fromString("2023-09-05T04:00:00Z", Qt::ISODate)); + ASSERT_EQ(main_key.GetPubkeyAlgo(), "RSA"); + ASSERT_EQ(main_key.GetKeyAlgo(), "RSA3072"); + ASSERT_EQ(main_key.GetKeyLength(), 3072); + ASSERT_EQ(main_key.GetCreateTime(), + QDateTime::fromString("2021-09-05T06:01:53Z", Qt::ISODate)); + ASSERT_FALSE(main_key.IsCardKey()); + auto& sub_key = sub_keys->back(); ASSERT_FALSE(sub_key.IsRevoked()); ASSERT_FALSE(sub_key.IsDisabled()); ASSERT_EQ(sub_key.GetCreateTime(), - QDateTime::fromString("20210905T060153", Qt::ISODate)); + QDateTime::fromString("2021-09-05T06:01:53Z", Qt::ISODate)); ASSERT_FALSE(sub_key.IsCardKey()); ASSERT_TRUE(sub_key.IsPrivateKey()); @@ -117,13 +131,14 @@ TEST_F(GpgCoreTest, GpgSubKeyTest) { ASSERT_EQ(sub_key.GetFingerprint(), "50D37E8F8EE7340A6794E0592B36803235B5E25B"); ASSERT_EQ(sub_key.GetKeyLength(), 3072); + ASSERT_EQ(sub_key.GetKeyAlgo(), "RSA3072"); ASSERT_EQ(sub_key.GetPubkeyAlgo(), "RSA"); ASSERT_FALSE(sub_key.IsHasCertificationCapability()); ASSERT_FALSE(sub_key.IsHasAuthenticationCapability()); ASSERT_FALSE(sub_key.IsHasSigningCapability()); ASSERT_TRUE(sub_key.IsHasEncryptionCapability()); - ASSERT_EQ(key.GetExpireTime(), - QDateTime::fromString("20230905T040000", Qt::ISODate)); + ASSERT_EQ(sub_key.GetExpireTime(), + QDateTime::fromString("2023-09-05T04:00:00Z", Qt::ISODate)); ASSERT_EQ(sub_key.IsExpired(), sub_key.GetExpireTime() < QDateTime::currentDateTime()); -- cgit v1.2.3