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); |