diff options
author | Kevin Jacobs <kjacobs@mozilla.com> | 2020-10-23 15:49:49 +0000 |
---|---|---|
committer | Kevin Jacobs <kjacobs@mozilla.com> | 2020-10-23 15:49:49 +0000 |
commit | 634e1eeb85976e0fb3ac4c1efc8d5b2694e806ea (patch) | |
tree | 4d280621036ceb6c60d18cf1a012073d220bdff7 /gtests/pk11_gtest | |
parent | f72fb964768eb2807db7e24aebf27343e06ab2e0 (diff) | |
download | nss-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.cc | 35 |
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) { |