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

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: Addressing nits 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
« no previous file with comments | « net/cert/multi_log_ct_verifier.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « net/cert/multi_log_ct_verifier.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698