summaryrefslogtreecommitdiff
path: root/gtests/pk11_gtest
diff options
context:
space:
mode:
authorKevin Jacobs <kjacobs@mozilla.com>2020-10-23 15:49:49 +0000
committerKevin Jacobs <kjacobs@mozilla.com>2020-10-23 15:49:49 +0000
commit634e1eeb85976e0fb3ac4c1efc8d5b2694e806ea (patch)
tree4d280621036ceb6c60d18cf1a012073d220bdff7 /gtests/pk11_gtest
parentf72fb964768eb2807db7e24aebf27343e06ab2e0 (diff)
downloadnss-hg-634e1eeb85976e0fb3ac4c1efc8d5b2694e806ea.tar.gz
Bug 1668123 - Export CERT_AddCertToListHeadWithData and CERT_AddCertToListTailWithData. r=jcj
Differential Revision: https://phabricator.services.mozilla.com/D94524
Diffstat (limited to 'gtests/pk11_gtest')
-rw-r--r--gtests/pk11_gtest/pk11_find_certs_unittest.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/gtests/pk11_gtest/pk11_find_certs_unittest.cc b/gtests/pk11_gtest/pk11_find_certs_unittest.cc
index bdb9b0a87..9f6baf178 100644
--- a/gtests/pk11_gtest/pk11_find_certs_unittest.cc
+++ b/gtests/pk11_gtest/pk11_find_certs_unittest.cc
@@ -159,6 +159,41 @@ class PK11FindCertsTestBase : public ::testing::Test {
class PK11FindRawCertsBySubjectTest : public PK11FindCertsTestBase {};
+TEST_F(PK11FindCertsTestBase, CertAddListWithData) {
+ ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
+ ASSERT_TRUE(slot);
+ SECItem cert1_item = {siBuffer, const_cast<uint8_t*>(kTestCert1DER.data()),
+ (unsigned int)kTestCert1DER.size()};
+ SECItem cert2_item = {siBuffer, const_cast<uint8_t*>(kTestCert2DER.data()),
+ (unsigned int)kTestCert2DER.size()};
+
+ // Make certificates. ScopedCERTCertList will own.
+ ScopedCERTCertList list(CERT_NewCertList());
+ ASSERT_TRUE(list);
+ CERTCertificate* cert1 = CERT_NewTempCertificate(
+ CERT_GetDefaultCertDB(), &cert1_item, nullptr, false, false);
+ CERTCertificate* cert2 = CERT_NewTempCertificate(
+ CERT_GetDefaultCertDB(), &cert2_item, nullptr, false, false);
+ ASSERT_NE(nullptr, cert1);
+ ASSERT_NE(nullptr, cert2);
+ ASSERT_NE(cert1, cert2);
+
+ SECStatus rv = CERT_AddCertToListHeadWithData(list.get(), cert1, cert1);
+ EXPECT_EQ(SECSuccess, rv);
+ rv = CERT_AddCertToListTailWithData(list.get(), cert2, cert2);
+ EXPECT_EQ(SECSuccess, rv);
+
+ CERTCertListNode* node = CERT_LIST_HEAD(list.get());
+ ASSERT_NE(nullptr, node);
+ EXPECT_EQ(node->cert, cert1);
+ EXPECT_EQ(node->appData, cert1);
+
+ node = CERT_LIST_TAIL(list.get());
+ ASSERT_NE(nullptr, node);
+ EXPECT_EQ(node->cert, cert2);
+ EXPECT_EQ(node->appData, cert2);
+}
+
// If we don't have any certificates, we shouldn't get any when we search for
// them.
TEST_F(PK11FindRawCertsBySubjectTest, TestNoCertsImportedNoCertsFound) {