blob: 3eb8bdb45530e2a1afede341da29e2c7d8df7120 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SAFE_BROWSING_MOCK_REPORT_SENDER_H_
#define CHROME_BROWSER_SAFE_BROWSING_MOCK_REPORT_SENDER_H_
#include "net/url_request/report_sender.h"
namespace safe_browsing {
// A mock ReportSender that keeps track of the last report sent and the number
// of reports sent.
class MockReportSender : public net::ReportSender {
public:
MockReportSender();
~MockReportSender() override;
void Send(const GURL& report_uri,
base::StringPiece content_type,
base::StringPiece report,
const base::Callback<void()>& success_callback,
const base::Callback<void(const GURL&, int, int)>& error_callback)
override;
const GURL& latest_report_uri();
const std::string& latest_report();
const std::string& latest_content_type();
int GetAndResetNumberOfReportsSent();
void WaitForReportSent();
private:
GURL latest_report_uri_;
std::string latest_report_;
std::string latest_content_type_;
int number_of_reports_;
base::Closure quit_closure_;
void NotifyReportSentOnUIThread();
DISALLOW_COPY_AND_ASSIGN(MockReportSender);
};
} // namespace safe_browsing
#endif // CHROME_BROWSER_SAFE_BROWSING_MOCK_REPORT_SENDER_H_