| 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..9be39f13b78269c4b822e9308eaa4bb894783055 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(const ct::SignedCertificateTimestamp* sct,
|
| + scoped_refptr<CTLogVerifier> log_verifier));
|
| +};
|
| +
|
| class MultiLogCTVerifierTest : public ::testing::Test {
|
| public:
|
| void SetUp() override {
|
| @@ -301,6 +312,29 @@ TEST_F(MultiLogCTVerifierTest, CountsZeroSCTsCorrectly) {
|
| GetValueFromHistogram(kSCTCountHistogram, 0));
|
| }
|
|
|
| +TEST_F(MultiLogCTVerifierTest, NotifiesOfValidSCT) {
|
| + MockSCTObserver observer;
|
| + verifier_->SetObserver(&observer);
|
| +
|
| + EXPECT_CALL(observer, OnSCTVerified(_, log_verifiers_[0]));
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| + Mock::VerifyAndClearExpectations(&observer);
|
| +
|
| + verifier_->SetObserver(nullptr);
|
| +}
|
| +
|
| +TEST_F(MultiLogCTVerifierTest, StopsNotifyingCorrectly) {
|
| + MockSCTObserver observer;
|
| + verifier_->SetObserver(&observer);
|
| +
|
| + EXPECT_CALL(observer, OnSCTVerified(_, log_verifiers_[0])).Times(1);
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| + verifier_->StopNotifications();
|
| + ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
|
| +
|
| + Mock::VerifyAndClearExpectations(&observer);
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace net
|
|
|