Chromium Code Reviews| Index: chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc |
| diff --git a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc |
| index 5c39c39f47410f0848f1313082888765ffdda825..5ea097e20a26fdd69ac5ef010df9d2aab4be1bec 100644 |
| --- a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc |
| +++ b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc |
| @@ -236,6 +236,7 @@ void CheckReportSCTs( |
| // |ssl_info|. |
| void CheckExpectCTReport(const std::string& serialized_report, |
| const net::HostPortPair& host_port, |
| + const std::string expiration_time, |
|
meacer
2017/06/20 00:28:10
nit: expiration_date to be consistent with the fie
estark
2017/06/20 21:45:01
Done.
|
| const net::SSLInfo& ssl_info) { |
| std::unique_ptr<base::Value> value(base::JSONReader::Read(serialized_report)); |
| ASSERT_TRUE(value); |
| @@ -251,6 +252,10 @@ void CheckExpectCTReport(const std::string& serialized_report, |
| EXPECT_TRUE(report_dict->GetInteger("port", &report_port)); |
| EXPECT_EQ(host_port.port(), report_port); |
| + std::string expiration; |
| + EXPECT_TRUE(report_dict->GetString("effective-expiration-date", &expiration)); |
| + EXPECT_EQ(expiration_time, expiration); |
| + |
| const base::ListValue* report_served_certificate_chain = nullptr; |
| ASSERT_TRUE(report_dict->GetList("served-certificate-chain", |
| &report_served_certificate_chain)); |
| @@ -322,13 +327,14 @@ class ChromeExpectCTReporterWaitTest : public ::testing::Test { |
| void SendReport(ChromeExpectCTReporter* reporter, |
| const net::HostPortPair& host_port, |
| const GURL& report_uri, |
| + base::Time expiration, |
| const net::SSLInfo& ssl_info) { |
| base::RunLoop run_loop; |
| network_delegate_.set_url_request_destroyed_callback( |
| run_loop.QuitClosure()); |
| - reporter->OnExpectCTFailed(host_port, report_uri, ssl_info.cert.get(), |
| - ssl_info.unverified_cert.get(), |
| - ssl_info.signed_certificate_timestamps); |
| + reporter->OnExpectCTFailed( |
| + host_port, report_uri, expiration, ssl_info.cert.get(), |
| + ssl_info.unverified_cert.get(), ssl_info.signed_certificate_timestamps); |
| run_loop.Run(); |
| } |
| @@ -367,8 +373,8 @@ TEST(ChromeExpectCTReporterTest, FeatureDisabled) { |
| net::HostPortPair host_port("example.test", 443); |
| GURL report_uri("http://example-report.test"); |
| - reporter.OnExpectCTFailed(host_port, report_uri, ssl_info.cert.get(), |
| - ssl_info.unverified_cert.get(), |
| + reporter.OnExpectCTFailed(host_port, report_uri, base::Time(), |
| + ssl_info.cert.get(), ssl_info.unverified_cert.get(), |
| ssl_info.signed_certificate_timestamps); |
| EXPECT_TRUE(sender->latest_report_uri().is_empty()); |
| EXPECT_TRUE(sender->latest_serialized_report().empty()); |
| @@ -389,7 +395,8 @@ TEST(ChromeExpectCTReporterTest, EmptyReportURI) { |
| EXPECT_TRUE(sender->latest_report_uri().is_empty()); |
| EXPECT_TRUE(sender->latest_serialized_report().empty()); |
| - reporter.OnExpectCTFailed(net::HostPortPair(), GURL(), nullptr, nullptr, |
| + reporter.OnExpectCTFailed(net::HostPortPair(), GURL(), base::Time(), nullptr, |
| + nullptr, |
| net::SignedCertificateTimestampAndStatusList()); |
| EXPECT_TRUE(sender->latest_report_uri().is_empty()); |
| EXPECT_TRUE(sender->latest_serialized_report().empty()); |
| @@ -415,7 +422,7 @@ TEST_F(ChromeExpectCTReporterWaitTest, SendReportFailure) { |
| GURL report_uri( |
| net::URLRequestFailedJob::GetMockHttpUrl(net::ERR_CONNECTION_FAILED)); |
| - SendReport(&reporter, host_port, report_uri, ssl_info); |
| + SendReport(&reporter, host_port, report_uri, base::Time(), ssl_info); |
| histograms.ExpectTotalCount(kFailureHistogramName, 1); |
| histograms.ExpectBucketCount(kFailureHistogramName, |
| @@ -426,6 +433,11 @@ TEST_F(ChromeExpectCTReporterWaitTest, SendReportFailure) { |
| // Test that a sent report has the right format. |
| TEST(ChromeExpectCTReporterTest, SendReport) { |
| + const char kExpirationTimeStr[] = "2017-01-01T00:00:00.000Z"; |
| + base::Time expiration; |
| + ASSERT_TRUE( |
| + base::Time::FromUTCExploded({2017, 1, 0, 1, 0, 0, 0, 0}, &expiration)); |
|
meacer
2017/06/20 00:28:10
nit: Perhaps move this to around line 500 so that
estark
2017/06/20 21:45:01
Done.
|
| + |
| base::MessageLoop message_loop; |
| base::HistogramTester histograms; |
| histograms.ExpectTotalCount(kFailureHistogramName, 0); |
| @@ -488,14 +500,15 @@ TEST(ChromeExpectCTReporterTest, SendReport) { |
| GURL report_uri("http://example-report.test"); |
| // Check that the report is sent and contains the correct information. |
| - reporter.OnExpectCTFailed(host_port, report_uri, ssl_info.cert.get(), |
| - ssl_info.unverified_cert.get(), |
| + reporter.OnExpectCTFailed(host_port, report_uri, expiration, |
| + ssl_info.cert.get(), ssl_info.unverified_cert.get(), |
| ssl_info.signed_certificate_timestamps); |
| EXPECT_EQ(report_uri, sender->latest_report_uri()); |
| EXPECT_FALSE(sender->latest_serialized_report().empty()); |
| EXPECT_EQ("application/json; charset=utf-8", sender->latest_content_type()); |
| - ASSERT_NO_FATAL_FAILURE(CheckExpectCTReport( |
| - sender->latest_serialized_report(), host_port, ssl_info)); |
| + ASSERT_NO_FATAL_FAILURE( |
| + CheckExpectCTReport(sender->latest_serialized_report(), host_port, |
| + kExpirationTimeStr, ssl_info)); |
| histograms.ExpectTotalCount(kFailureHistogramName, 0); |
| histograms.ExpectTotalCount(kSendHistogramName, 1); |