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

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: Addressed review comments 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..0cf188364461adbdb0a7938bd15ab654bdcaa412 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,29 @@ 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_));
+ Mock::VerifyAndClearExpectations(&observer);
Ryan Sleevi 2015/07/02 14:25:46 This isn't needed if you remove 322/323, since thi
Eran Messeri 2015/07/02 15:04:38 Done.
+
+ verifier_->SetObserver(nullptr);
Ryan Sleevi 2015/07/02 14:25:46 This isn't necessary - is it? verifier_ gets delet
Eran Messeri 2015/07/02 15:04:39 Done.
+}
+
+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_));
+ verifier_->SetObserver(nullptr);
Ryan Sleevi 2015/07/02 14:25:46 335 isn't strictly necessary, but it seems like yo
Eran Messeri 2015/07/02 15:04:38 Done, though I had to add: EXPECT_CALL(observer, O
+ ASSERT_TRUE(VerifySinglePrecertificateChain(embedded_sct_chain_));
+
+ Mock::VerifyAndClearExpectations(&observer);
+}
+
} // namespace
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698