Index: chrome/browser/net/certificate_error_reporter_unittest.cc |
diff --git a/chrome/browser/net/certificate_error_reporter_unittest.cc b/chrome/browser/net/certificate_error_reporter_unittest.cc |
index fbf4c8141e14c7d4112446a4c725037986f6e933..977c1dc3ad393c5a3ba1fa80b61a089e0a8c598d 100644 |
--- a/chrome/browser/net/certificate_error_reporter_unittest.cc |
+++ b/chrome/browser/net/certificate_error_reporter_unittest.cc |
@@ -13,8 +13,10 @@ |
#include "base/files/file_util.h" |
#include "base/macros.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/metrics/field_trial.h" |
#include "base/path_service.h" |
#include "base/run_loop.h" |
+#include "base/test/mock_entropy_provider.h" |
#include "base/thread_task_runner_handle.h" |
#include "chrome/browser/net/cert_logger.pb.h" |
#include "chrome/common/chrome_paths.h" |
@@ -382,6 +384,30 @@ TEST_F(CertificateErrorReporterTest, ErroredRequestGetsDeleted) { |
CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION); |
} |
+// Test that the Finch config correctly controls whether the reporter |
+// supports HTTP uploads. |
+TEST_F(CertificateErrorReporterTest, FinchConfigDisablesHttpUploads) { |
+ base::FieldTrialList field_trial_list(new base::MockEntropyProvider()); |
+ ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
+ chrome_browser_net::kHttpCertificateUploadExperiment, |
+ "not the right group")); |
+ |
+ EXPECT_FALSE(CertificateErrorReporter::IsHttpUploadUrlSupported()); |
+} |
+ |
+TEST_F(CertificateErrorReporterTest, FinchConfigPossiblyEnablesHttpUploads) { |
+ base::FieldTrialList field_trial_list(new base::MockEntropyProvider()); |
+ ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
+ chrome_browser_net::kHttpCertificateUploadExperiment, |
+ chrome_browser_net::kHttpCertificateUploadGroup)); |
+ |
+#if defined(USE_OPENSSL) |
+ EXPECT_TRUE(CertificateErrorReporter::IsHttpUploadUrlSupported()); |
+#else |
+ EXPECT_FALSE(CertificateErrorReporter::IsHttpUploadUrlSupported()); |
+#endif |
+} |
+ |
// Test that cookies are sent or not sent according to the error |
// reporter's cookies preference. |