| Index: net/cert/multi_log_ct_verifier_unittest.cc
|
| diff --git a/net/cert/multi_log_ct_verifier_unittest.cc b/net/cert/multi_log_ct_verifier_unittest.cc
|
| index 104335a35c425d1acc19cc04c43daf831ab4c8b5..a994eb218f25131163a439493a446e0b159c98be 100644
|
| --- a/net/cert/multi_log_ct_verifier_unittest.cc
|
| +++ b/net/cert/multi_log_ct_verifier_unittest.cc
|
| @@ -26,8 +26,12 @@
|
| #include "net/log/test_net_log_entry.h"
|
| #include "net/test/cert_test_util.h"
|
| #include "net/test/ct_test_util.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +using testing::_;
|
| +using testing::Mock;
|
| +
|
| namespace net {
|
|
|
| namespace {
|
| @@ -36,6 +40,13 @@ const char kLogDescription[] = "somelog";
|
| const char kSCTCountHistogram[] =
|
| "Net.CertificateTransparency.SCTsPerConnection";
|
|
|
| +class MockSCTObserver : public CTVerifier::Observer {
|
| + public:
|
| + MOCK_METHOD2(OnSCTVerified,
|
| + void(X509Certificate* cert,
|
| + const ct::SignedCertificateTimestamp* sct));
|
| +};
|
| +
|
| class MultiLogCTVerifierTest : public ::testing::Test {
|
| public:
|
| void SetUp() override {
|
| @@ -301,6 +312,27 @@ TEST_F(MultiLogCTVerifierTest, CountsZeroSCTsCorrectly) {
|
| GetValueFromHistogram(kSCTCountHistogram, 0));
|
| }
|
|
|
| +TEST_F(MultiLogCTVerifierTest, NotifiesOfValidSCT) {
|
| + MockSCTObserver observer;
|
| + verifier_->SetObserver(&observer);
|
| +
|
| + EXPECT_CALL(observer, OnSCTVerified(embedded_sct_chain_.get(), _));
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| +}
|
| +
|
| +TEST_F(MultiLogCTVerifierTest, StopsNotifyingCorrectly) {
|
| + MockSCTObserver observer;
|
| + verifier_->SetObserver(&observer);
|
| +
|
| + EXPECT_CALL(observer, OnSCTVerified(embedded_sct_chain_.get(), _)).Times(1);
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| + Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + EXPECT_CALL(observer, OnSCTVerified(embedded_sct_chain_.get(), _)).Times(0);
|
| + verifier_->SetObserver(nullptr);
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace net
|
|
|