Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1625)

Unified Diff: net/cert/multi_log_ct_verifier_unittest.cc

Issue 1216153010: Certificate Transparency: Add observer for Signed Certificate Timestamps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« net/cert/ct_verifier.h ('K') | « net/cert/multi_log_ct_verifier.cc ('k') | net/net.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698