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

Side by Side Diff: components/certificate_reporting/error_reporter_unittest.cc

Issue 2648713002: Add response code to the success callback of ReportSender (Closed)
Patch Set: Remove response code from error callback Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/certificate_reporting/error_reporter.h" 5 #include "components/certificate_reporting/error_reporter.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <set> 10 #include <set>
(...skipping 20 matching lines...) Expand all
31 const char kDummyHttpReportUri[] = "http://example.test"; 31 const char kDummyHttpReportUri[] = "http://example.test";
32 const char kDummyHttpsReportUri[] = "https://example.test"; 32 const char kDummyHttpsReportUri[] = "https://example.test";
33 const char kDummyReport[] = "a dummy report"; 33 const char kDummyReport[] = "a dummy report";
34 const uint32_t kServerPublicKeyTestVersion = 16; 34 const uint32_t kServerPublicKeyTestVersion = 16;
35 35
36 void ErrorCallback(bool* called, const GURL& report_uri, int net_error) { 36 void ErrorCallback(bool* called, const GURL& report_uri, int net_error) {
37 EXPECT_NE(net::OK, net_error); 37 EXPECT_NE(net::OK, net_error);
38 *called = true; 38 *called = true;
39 } 39 }
40 40
41 void SuccessCallback(bool* called) { 41 void SuccessCallback(bool* called, int response_code) {
42 *called = true; 42 *called = true;
43 } 43 }
44 44
45 // A mock ReportSender that keeps track of the last report 45 // A mock ReportSender that keeps track of the last report
46 // sent. 46 // sent.
47 class MockCertificateReportSender : public net::ReportSender { 47 class MockCertificateReportSender : public net::ReportSender {
48 public: 48 public:
49 MockCertificateReportSender() 49 MockCertificateReportSender()
50 : net::ReportSender(nullptr, DO_NOT_SEND_COOKIES) {} 50 : net::ReportSender(nullptr, DO_NOT_SEND_COOKIES) {}
51 ~MockCertificateReportSender() override {} 51 ~MockCertificateReportSender() override {}
52 52
53 void Send( 53 void Send(
54 const GURL& report_uri, 54 const GURL& report_uri,
55 base::StringPiece content_type, 55 base::StringPiece content_type,
56 base::StringPiece report, 56 base::StringPiece report,
57 const base::Callback<void()>& success_callback, 57 const base::Callback<void(int)>& success_callback,
58 const base::Callback<void(const GURL&, int)>& error_callback) override { 58 const base::Callback<void(const GURL&, int)>& error_callback) override {
59 latest_report_uri_ = report_uri; 59 latest_report_uri_ = report_uri;
60 report.CopyToString(&latest_report_); 60 report.CopyToString(&latest_report_);
61 content_type.CopyToString(&latest_content_type_); 61 content_type.CopyToString(&latest_content_type_);
62 } 62 }
63 63
64 const GURL& latest_report_uri() const { return latest_report_uri_; } 64 const GURL& latest_report_uri() const { return latest_report_uri_; }
65 65
66 const std::string& latest_report() const { return latest_report_; } 66 const std::string& latest_report() const { return latest_report_; }
67 67
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 // an encrypted or plaintext extended reporting report as appropriate. 120 // an encrypted or plaintext extended reporting report as appropriate.
121 TEST_F(ErrorReporterTest, ExtendedReportingSendReport) { 121 TEST_F(ErrorReporterTest, ExtendedReportingSendReport) {
122 // Data should not be encrypted when sent to an HTTPS URL. 122 // Data should not be encrypted when sent to an HTTPS URL.
123 MockCertificateReportSender* mock_report_sender = 123 MockCertificateReportSender* mock_report_sender =
124 new MockCertificateReportSender(); 124 new MockCertificateReportSender();
125 GURL https_url(kDummyHttpsReportUri); 125 GURL https_url(kDummyHttpsReportUri);
126 ErrorReporter https_reporter(https_url, server_public_key_, 126 ErrorReporter https_reporter(https_url, server_public_key_,
127 kServerPublicKeyTestVersion, 127 kServerPublicKeyTestVersion,
128 base::WrapUnique(mock_report_sender)); 128 base::WrapUnique(mock_report_sender));
129 https_reporter.SendExtendedReportingReport( 129 https_reporter.SendExtendedReportingReport(
130 kDummyReport, base::Closure(), base::Callback<void(const GURL&, int)>()); 130 kDummyReport, base::Callback<void(int)>(),
eroman 2017/04/25 21:02:39 Are there any tests for the HTTP code?
meacer 2017/04/26 22:27:06 Added one to report_sender_unittest.cc
131 base::Callback<void(const GURL&, int)>());
131 EXPECT_EQ(mock_report_sender->latest_report_uri(), https_url); 132 EXPECT_EQ(mock_report_sender->latest_report_uri(), https_url);
132 EXPECT_EQ(mock_report_sender->latest_report(), kDummyReport); 133 EXPECT_EQ(mock_report_sender->latest_report(), kDummyReport);
133 134
134 // Data should be encrypted when sent to an HTTP URL. 135 // Data should be encrypted when sent to an HTTP URL.
135 MockCertificateReportSender* http_mock_report_sender = 136 MockCertificateReportSender* http_mock_report_sender =
136 new MockCertificateReportSender(); 137 new MockCertificateReportSender();
137 GURL http_url(kDummyHttpReportUri); 138 GURL http_url(kDummyHttpReportUri);
138 ErrorReporter http_reporter(http_url, server_public_key_, 139 ErrorReporter http_reporter(http_url, server_public_key_,
139 kServerPublicKeyTestVersion, 140 kServerPublicKeyTestVersion,
140 base::WrapUnique(http_mock_report_sender)); 141 base::WrapUnique(http_mock_report_sender));
141 http_reporter.SendExtendedReportingReport( 142 http_reporter.SendExtendedReportingReport(
142 kDummyReport, base::Closure(), base::Callback<void(const GURL&, int)>()); 143 kDummyReport, base::Callback<void(int)>(),
144 base::Callback<void(const GURL&, int)>());
143 145
144 EXPECT_EQ(http_mock_report_sender->latest_report_uri(), http_url); 146 EXPECT_EQ(http_mock_report_sender->latest_report_uri(), http_url);
145 EXPECT_EQ("application/octet-stream", 147 EXPECT_EQ("application/octet-stream",
146 http_mock_report_sender->latest_content_type()); 148 http_mock_report_sender->latest_content_type());
147 149
148 std::string uploaded_report; 150 std::string uploaded_report;
149 EncryptedCertLoggerRequest encrypted_request; 151 EncryptedCertLoggerRequest encrypted_request;
150 ASSERT_TRUE(encrypted_request.ParseFromString( 152 ASSERT_TRUE(encrypted_request.ParseFromString(
151 http_mock_report_sender->latest_report())); 153 http_mock_report_sender->latest_report()));
152 EXPECT_EQ(kServerPublicKeyTestVersion, 154 EXPECT_EQ(kServerPublicKeyTestVersion,
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 ASSERT_TRUE(encrypted_request.ParseFromString( 370 ASSERT_TRUE(encrypted_request.ParseFromString(
369 std::string(reinterpret_cast<const char*>(kSerializedEncryptedReport), 371 std::string(reinterpret_cast<const char*>(kSerializedEncryptedReport),
370 sizeof(kSerializedEncryptedReport)))); 372 sizeof(kSerializedEncryptedReport))));
371 ASSERT_TRUE(ErrorReporter::DecryptErrorReport( 373 ASSERT_TRUE(ErrorReporter::DecryptErrorReport(
372 server_private_key_, encrypted_request, &decrypted_serialized_report)); 374 server_private_key_, encrypted_request, &decrypted_serialized_report));
373 } 375 }
374 376
375 } // namespace 377 } // namespace
376 378
377 } // namespace certificate_reporting 379 } // namespace certificate_reporting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698