update master-with-bazel from master branch
This commit is contained in:
@@ -17,6 +17,16 @@ void CertIssuerSourceStatic::AddCert(
|
||||
|
||||
void CertIssuerSourceStatic::Clear() { intermediates_.clear(); }
|
||||
|
||||
std::vector<std::shared_ptr<const ParsedCertificate>>
|
||||
CertIssuerSourceStatic::Certs() const {
|
||||
std::vector<std::shared_ptr<const ParsedCertificate>> result;
|
||||
result.reserve(intermediates_.size());
|
||||
for (const auto& [key, cert] : intermediates_) {
|
||||
result.push_back(cert);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void CertIssuerSourceStatic::SyncGetIssuersOf(const ParsedCertificate *cert,
|
||||
ParsedCertificateList *issuers) {
|
||||
auto range =
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#define BSSL_PKI_CERT_ISSUER_SOURCE_STATIC_H_
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <openssl/base.h>
|
||||
|
||||
@@ -30,6 +31,9 @@ class OPENSSL_EXPORT CertIssuerSourceStatic : public CertIssuerSource {
|
||||
// Clears the set of certificates.
|
||||
void Clear();
|
||||
|
||||
// Returns a vector containing all the certificates added to this source.
|
||||
std::vector<std::shared_ptr<const ParsedCertificate>> Certs() const;
|
||||
|
||||
size_t size() const { return intermediates_.size(); }
|
||||
|
||||
// CertIssuerSource implementation:
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "cert_issuer_source_static.h"
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include "cert_issuer_source_sync_unittest.h"
|
||||
#include "parsed_certificate.h"
|
||||
@@ -24,7 +25,7 @@ class CertIssuerSourceStaticTestDelegate {
|
||||
CertIssuerSourceStatic source_;
|
||||
};
|
||||
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(CertIssuerSourceStaticTest,
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(CertIssuerSourceStaticSyncTest,
|
||||
CertIssuerSourceSyncTest,
|
||||
CertIssuerSourceStaticTestDelegate);
|
||||
|
||||
@@ -35,6 +36,40 @@ INSTANTIATE_TYPED_TEST_SUITE_P(CertIssuerSourceStaticNormalizationTest,
|
||||
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(
|
||||
CertIssuerSourceSyncNotNormalizedTest);
|
||||
|
||||
TEST(CertIssuerSourceStaticTest, AddCertsGetCertsAndClear) {
|
||||
std::string test_dir = "testdata/cert_issuer_source_static_unittest/";
|
||||
std::shared_ptr<const ParsedCertificate> cert1 =
|
||||
ReadCertFromFile(test_dir + "root.pem");
|
||||
ASSERT_TRUE(cert1);
|
||||
std::shared_ptr<const ParsedCertificate> cert2 =
|
||||
ReadCertFromFile(test_dir + "i1_1.pem");
|
||||
ASSERT_TRUE(cert2);
|
||||
std::shared_ptr<const ParsedCertificate> cert3 =
|
||||
ReadCertFromFile(test_dir + "i1_2.pem");
|
||||
ASSERT_TRUE(cert3);
|
||||
|
||||
CertIssuerSourceStatic source;
|
||||
EXPECT_TRUE(source.Certs().empty());
|
||||
EXPECT_EQ(source.size(), 0u);
|
||||
|
||||
source.AddCert(cert1);
|
||||
EXPECT_THAT(source.Certs(), testing::UnorderedElementsAre(cert1));
|
||||
EXPECT_EQ(source.size(), 1u);
|
||||
|
||||
source.AddCert(cert2);
|
||||
EXPECT_THAT(source.Certs(), testing::UnorderedElementsAre(cert1, cert2));
|
||||
EXPECT_EQ(source.size(), 2u);
|
||||
|
||||
source.AddCert(cert3);
|
||||
EXPECT_THAT(source.Certs(),
|
||||
testing::UnorderedElementsAre(cert1, cert2, cert3));
|
||||
EXPECT_EQ(source.size(), 3u);
|
||||
|
||||
source.Clear();
|
||||
EXPECT_TRUE(source.Certs().empty());
|
||||
EXPECT_EQ(source.size(), 0u);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
} // namespace bssl
|
||||
|
||||
Reference in New Issue
Block a user