blob: c8d724a458271bc5841a253f075a9c6208d17a87 [file] [log] [blame]
// Copyright 2017 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 COMPONENTS_METRICS_TEST_METRICS_LOG_UPLOADER_H_
#define COMPONENTS_METRICS_TEST_METRICS_LOG_UPLOADER_H_
#include "components/metrics/metrics_log_uploader.h"
#include "third_party/metrics_proto/reporting_info.pb.h"
namespace metrics {
class TestMetricsLogUploader : public MetricsLogUploader {
public:
explicit TestMetricsLogUploader(
const MetricsLogUploader::UploadCallback& on_upload_complete);
~TestMetricsLogUploader() override;
// Mark the current upload complete with the given response code.
void CompleteUpload(int response_code);
// Check if UploadLog has been called.
bool is_uploading() const { return is_uploading_; }
const ReportingInfo& reporting_info() const { return last_reporting_info_; }
private:
// MetricsLogUploader:
void UploadLog(const std::string& compressed_log_data,
const std::string& log_hash,
const ReportingInfo& reporting_info) override;
const MetricsLogUploader::UploadCallback on_upload_complete_;
ReportingInfo last_reporting_info_;
bool is_uploading_;
DISALLOW_COPY_AND_ASSIGN(TestMetricsLogUploader);
};
} // namespace metrics
#endif // COMPONENTS_METRICS_TEST_METRICS_LOG_UPLOADER_H_