Commit 025adfa4 authored by jianli@chromium.org's avatar jianli@chromium.org

Rename GCMStatsRecorder to GCMStatsRecorderImpl

We also add the interface using the old name GCMStatsRecorder.

This is in preparation to move GCMClient to gcm_driver component.
We're going to move GCMActivity, GCMClient, GCMClientImpl, and
GCMStatsRecorderImpl to gcm_driver component while keeping
GCMStatsRecorder interface in google_apis/gcm.

BUG=356716
TEST=existing tests due to no functionality changes
R=juyik@chromium.org, zea@chromium.org

Review URL: https://codereview.chromium.org/312553002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274641 0039d316-1c4b-4281-b951-d872f2087c98
parent 7fd6959f
......@@ -6,7 +6,7 @@
#include <vector>
#include "google_apis/gcm/engine/checkin_request.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "google_apis/gcm/protocol/checkin.pb.h"
#include "net/base/backoff_entry.h"
#include "net/url_request/test_url_fetcher_factory.h"
......@@ -92,7 +92,7 @@ class CheckinRequestTest : public testing::Test {
checkin_proto::ChromeBuildProto chrome_build_proto_;
std::vector<std::string> account_ids_;
scoped_ptr<CheckinRequest> request_;
GCMStatsRecorder recorder_;
FakeGCMStatsRecorder recorder_;
};
CheckinRequestTest::CheckinRequestTest()
......
......@@ -11,7 +11,7 @@
#include "base/test/simple_test_tick_clock.h"
#include "google_apis/gcm/base/mcs_util.h"
#include "google_apis/gcm/engine/fake_connection_handler.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "net/base/backoff_entry.h"
#include "net/http/http_network_session.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -150,7 +150,7 @@ class TestConnectionFactoryImpl : public ConnectionFactoryImpl {
base::Closure finished_callback_;
// The current fake connection handler..
FakeConnectionHandler* fake_handler_;
GCMStatsRecorder dummy_recorder_;
FakeGCMStatsRecorder dummy_recorder_;
};
TestConnectionFactoryImpl::TestConnectionFactoryImpl(
......
......@@ -15,7 +15,7 @@
#include "google_apis/gcm/engine/fake_connection_factory.h"
#include "google_apis/gcm/engine/fake_connection_handler.h"
#include "google_apis/gcm/engine/gcm_store_impl.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace gcm {
......@@ -139,7 +139,7 @@ class MCSClientTest : public testing::Test {
std::string sent_message_id_;
MCSClient::MessageSendStatus message_send_status_;
gcm::GCMStatsRecorder recorder_;
gcm::FakeGCMStatsRecorder recorder_;
};
MCSClientTest::MCSClientTest()
......
......@@ -9,7 +9,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_tokenizer.h"
#include "google_apis/gcm/engine/registration_request.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "net/url_request/test_url_fetcher_factory.h"
#include "net/url_request/url_request_status.h"
#include "net/url_request/url_request_test_util.h"
......@@ -82,7 +82,7 @@ class RegistrationRequestTest : public testing::Test {
base::MessageLoop message_loop_;
net::TestURLFetcherFactory url_fetcher_factory_;
scoped_refptr<net::TestURLRequestContextGetter> url_request_context_getter_;
GCMStatsRecorder recorder_;
FakeGCMStatsRecorder recorder_;
};
RegistrationRequestTest::RegistrationRequestTest()
......
......@@ -9,7 +9,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_tokenizer.h"
#include "google_apis/gcm/engine/unregistration_request.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "net/url_request/test_url_fetcher_factory.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -73,7 +73,7 @@ class UnregistrationRequestTest : public testing::Test {
base::MessageLoop message_loop_;
net::TestURLFetcherFactory url_fetcher_factory_;
scoped_refptr<net::TestURLRequestContextGetter> url_request_context_getter_;
GCMStatsRecorder recorder_;
FakeGCMStatsRecorder recorder_;
};
UnregistrationRequestTest::UnregistrationRequestTest()
......
......@@ -75,8 +75,9 @@
'gcm_client.h',
'gcm_client_impl.cc',
'gcm_client_impl.h',
'monitoring/gcm_stats_recorder.cc',
'monitoring/gcm_stats_recorder.h',
'monitoring/gcm_stats_recorder_impl.cc',
'monitoring/gcm_stats_recorder_impl.h',
'protocol/android_checkin.proto',
'protocol/checkin.proto',
'protocol/mcs.proto',
......@@ -86,6 +87,34 @@
],
},
# The test support library that is needed to test gcm.
{
'target_name': 'gcm_test_support',
'type': 'static_library',
'include_dirs': [
'..',
],
'export_dependent_settings': [
'../../third_party/protobuf/protobuf.gyp:protobuf_lite'
],
'dependencies': [
'../../base/base.gyp:base',
'../../testing/gtest.gyp:gtest',
'../../third_party/protobuf/protobuf.gyp:protobuf_lite',
'gcm',
],
'sources': [
'base/fake_encryptor.cc',
'base/fake_encryptor.h',
'engine/fake_connection_factory.cc',
'engine/fake_connection_factory.h',
'engine/fake_connection_handler.cc',
'engine/fake_connection_handler.h',
'monitoring/fake_gcm_stats_recorder.cc',
'monitoring/fake_gcm_stats_recorder.h',
],
},
# A standalone MCS (mobile connection server) client.
{
'target_name': 'mcs_probe',
......@@ -99,11 +128,10 @@
'../../net/net.gyp:net',
'../../net/net.gyp:net_test_support',
'../../third_party/protobuf/protobuf.gyp:protobuf_lite',
'gcm'
'gcm',
'gcm_test_support'
],
'sources': [
'base/fake_encryptor.cc',
'base/fake_encryptor.h',
'tools/mcs_probe.cc',
],
},
......@@ -127,21 +155,16 @@
'../../testing/gtest.gyp:gtest',
'../../third_party/protobuf/protobuf.gyp:protobuf_lite',
'mcs_probe',
'gcm'
'gcm',
'gcm_test_support'
],
'sources': [
'base/fake_encryptor.cc',
'base/fake_encryptor.h',
'base/mcs_message_unittest.cc',
'base/mcs_util_unittest.cc',
'base/socket_stream_unittest.cc',
'engine/checkin_request_unittest.cc',
'engine/connection_factory_impl_unittest.cc',
'engine/connection_handler_impl_unittest.cc',
'engine/fake_connection_factory.cc',
'engine/fake_connection_factory.h',
'engine/fake_connection_handler.cc',
'engine/fake_connection_handler.h',
'engine/gcm_store_impl_unittest.cc',
'engine/gservices_settings_unittest.cc',
'engine/heartbeat_manager_unittest.cc',
......@@ -149,7 +172,7 @@
'engine/registration_request_unittest.cc',
'engine/unregistration_request_unittest.cc',
'gcm_client_impl_unittest.cc',
'monitoring/gcm_stats_recorder_unittest.cc'
'monitoring/gcm_stats_recorder_impl_unittest.cc'
]
},
],
......
......@@ -20,7 +20,7 @@
#include "google_apis/gcm/engine/registration_request.h"
#include "google_apis/gcm/engine/unregistration_request.h"
#include "google_apis/gcm/gcm_client.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder_impl.h"
#include "google_apis/gcm/protocol/android_checkin.pb.h"
#include "google_apis/gcm/protocol/checkin.pb.h"
#include "net/base/net_log.h"
......@@ -233,7 +233,7 @@ class GCM_EXPORT GCMClientImpl
scoped_ptr<GCMInternalsBuilder> internals_builder_;
// Recorder that logs GCM activities.
GCMStatsRecorder recorder_;
GCMStatsRecorderImpl recorder_;
// State of the GCM Client Implementation.
State state_;
......
// Copyright 2014 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.
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
namespace gcm {
FakeGCMStatsRecorder::FakeGCMStatsRecorder() {
}
FakeGCMStatsRecorder::~FakeGCMStatsRecorder() {
}
void FakeGCMStatsRecorder::RecordCheckinInitiated(uint64 android_id) {
}
void FakeGCMStatsRecorder::RecordCheckinDelayedDueToBackoff(int64 delay_msec) {
}
void FakeGCMStatsRecorder::RecordCheckinSuccess() {
}
void FakeGCMStatsRecorder::RecordCheckinFailure(std::string status,
bool will_retry) {
}
void FakeGCMStatsRecorder::RecordConnectionInitiated(const std::string& host) {
}
void FakeGCMStatsRecorder::RecordConnectionDelayedDueToBackoff(
int64 delay_msec) {
}
void FakeGCMStatsRecorder::RecordConnectionSuccess() {
}
void FakeGCMStatsRecorder::RecordConnectionFailure(int network_error) {
}
void FakeGCMStatsRecorder::RecordConnectionResetSignaled(
ConnectionFactory::ConnectionResetReason reason) {
}
void FakeGCMStatsRecorder::RecordRegistrationSent(
const std::string& app_id,
const std::string& sender_ids) {
}
void FakeGCMStatsRecorder::RecordRegistrationResponse(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
RegistrationRequest::Status status) {
}
void FakeGCMStatsRecorder::RecordRegistrationRetryRequested(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
int retries_left) {
}
void FakeGCMStatsRecorder::RecordUnregistrationSent(
const std::string& app_id) {
}
void FakeGCMStatsRecorder::RecordUnregistrationResponse(
const std::string& app_id,
UnregistrationRequest::Status status) {
}
void FakeGCMStatsRecorder::RecordUnregistrationRetryDelayed(
const std::string& app_id,
int64 delay_msec) {
}
void FakeGCMStatsRecorder::RecordDataMessageReceived(
const std::string& app_id,
const std::string& from,
int message_byte_size,
bool to_registered_app,
ReceivedMessageType message_type) {
}
void FakeGCMStatsRecorder::RecordDataSentToWire(
const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
int queued) {
}
void FakeGCMStatsRecorder::RecordNotifySendStatus(
const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
gcm::MCSClient::MessageSendStatus status,
int byte_size,
int ttl) {
}
void FakeGCMStatsRecorder::RecordIncomingSendError(
const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id) {
}
} // namespace gcm
// Copyright 2014 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 GOOGLE_APIS_GCM_MONITORING_FAKE_GCM_STATS_RECODER_H_
#define GOOGLE_APIS_GCM_MONITORING_FAKE_GCM_STATS_RECODER_H_
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
namespace gcm {
// The fake version of GCMStatsRecorder that does nothing.
class FakeGCMStatsRecorder : public GCMStatsRecorder {
public:
FakeGCMStatsRecorder();
virtual ~FakeGCMStatsRecorder();
virtual void RecordCheckinInitiated(uint64 android_id) OVERRIDE;
virtual void RecordCheckinDelayedDueToBackoff(int64 delay_msec) OVERRIDE;
virtual void RecordCheckinSuccess() OVERRIDE;
virtual void RecordCheckinFailure(std::string status,
bool will_retry) OVERRIDE;
virtual void RecordConnectionInitiated(const std::string& host) OVERRIDE;
virtual void RecordConnectionDelayedDueToBackoff(int64 delay_msec) OVERRIDE;
virtual void RecordConnectionSuccess() OVERRIDE;
virtual void RecordConnectionFailure(int network_error) OVERRIDE;
virtual void RecordConnectionResetSignaled(
ConnectionFactory::ConnectionResetReason reason) OVERRIDE;
virtual void RecordRegistrationSent(const std::string& app_id,
const std::string& sender_ids) OVERRIDE;
virtual void RecordRegistrationResponse(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
RegistrationRequest::Status status) OVERRIDE;
virtual void RecordRegistrationRetryRequested(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
int retries_left) OVERRIDE;
virtual void RecordUnregistrationSent(const std::string& app_id) OVERRIDE;
virtual void RecordUnregistrationResponse(
const std::string& app_id,
UnregistrationRequest::Status status) OVERRIDE;
virtual void RecordUnregistrationRetryDelayed(const std::string& app_id,
int64 delay_msec) OVERRIDE;
virtual void RecordDataMessageReceived(
const std::string& app_id,
const std::string& from,
int message_byte_size,
bool to_registered_app,
ReceivedMessageType message_type) OVERRIDE;
virtual void RecordDataSentToWire(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
int queued) OVERRIDE;
virtual void RecordNotifySendStatus(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
MCSClient::MessageSendStatus status,
int byte_size,
int ttl) OVERRIDE;
virtual void RecordIncomingSendError(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(FakeGCMStatsRecorder);
};
} // namespace gcm
#endif // GOOGLE_APIS_GCM_MONITORING_FAKE_GCM_STATS_RECODER_H_
// Copyright 2014 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 GOOGLE_APIS_GCM_GCM_STATS_RECORDER_IMPL_H_
#define GOOGLE_APIS_GCM_GCM_STATS_RECORDER_IMPL_H_
#include <deque>
#include <string>
#include <vector>
#include "base/time/time.h"
#include "google_apis/gcm/base/gcm_export.h"
#include "google_apis/gcm/engine/connection_factory.h"
#include "google_apis/gcm/engine/mcs_client.h"
#include "google_apis/gcm/engine/registration_request.h"
#include "google_apis/gcm/engine/unregistration_request.h"
#include "google_apis/gcm/gcm_activity.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
namespace gcm {
// Records GCM internal stats and activities for debugging purpose. Recording
// can be turned on/off by calling SetRecording(...) function. It is turned off
// by default.
// This class is not thread safe. It is meant to be owned by a gcm client
// instance.
class GCM_EXPORT GCMStatsRecorderImpl : public GCMStatsRecorder {
public:
GCMStatsRecorderImpl();
virtual ~GCMStatsRecorderImpl();
// Indicates whether the recorder is currently recording activities or not.
bool is_recording() const {
return is_recording_;
}
// Turns recording on/off.
void SetRecording(bool recording);
// Set a delegate to receive callback from the recorder.
void SetDelegate(Delegate* delegate);
// Clear all recorded activities.
void Clear();
// GCMStatsRecorder implementation:
virtual void RecordCheckinInitiated(uint64 android_id) OVERRIDE;
virtual void RecordCheckinDelayedDueToBackoff(int64 delay_msec) OVERRIDE;
virtual void RecordCheckinSuccess() OVERRIDE;
virtual void RecordCheckinFailure(std::string status,
bool will_retry) OVERRIDE;
virtual void RecordConnectionInitiated(const std::string& host) OVERRIDE;
virtual void RecordConnectionDelayedDueToBackoff(int64 delay_msec) OVERRIDE;
virtual void RecordConnectionSuccess() OVERRIDE;
virtual void RecordConnectionFailure(int network_error) OVERRIDE;
virtual void RecordConnectionResetSignaled(
ConnectionFactory::ConnectionResetReason reason) OVERRIDE;
virtual void RecordRegistrationSent(const std::string& app_id,
const std::string& sender_ids) OVERRIDE;
virtual void RecordRegistrationResponse(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
RegistrationRequest::Status status) OVERRIDE;
virtual void RecordRegistrationRetryRequested(
const std::string& app_id,
const std::vector<std::string>& sender_ids,
int retries_left) OVERRIDE;
virtual void RecordUnregistrationSent(const std::string& app_id) OVERRIDE;
virtual void RecordUnregistrationResponse(
const std::string& app_id,
UnregistrationRequest::Status status) OVERRIDE;
virtual void RecordUnregistrationRetryDelayed(const std::string& app_id,
int64 delay_msec) OVERRIDE;
virtual void RecordDataMessageReceived(
const std::string& app_id,
const std::string& from,
int message_byte_size,
bool to_registered_app,
ReceivedMessageType message_type) OVERRIDE;
virtual void RecordDataSentToWire(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
int queued) OVERRIDE;
virtual void RecordNotifySendStatus(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
MCSClient::MessageSendStatus status,
int byte_size,
int ttl) OVERRIDE;
virtual void RecordIncomingSendError(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id) OVERRIDE;
// Collect all recorded activities into the struct.
void CollectActivities(RecordedActivities* recorder_activities) const;
const std::deque<CheckinActivity>& checkin_activities() const {
return checkin_activities_;
}
const std::deque<ConnectionActivity>& connection_activities() const {
return connection_activities_;
}
const std::deque<RegistrationActivity>& registration_activities() const {
return registration_activities_;
}
const std::deque<ReceivingActivity>& receiving_activities() const {
return receiving_activities_;
}
const std::deque<SendingActivity>& sending_activities() const {
return sending_activities_;
}
protected:
// Notify the recorder delegate, if it exists, that an activity has been
// recorded.
void NotifyActivityRecorded();
void RecordCheckin(const std::string& event,
const std::string& details);
void RecordConnection(const std::string& event,
const std::string& details);
void RecordRegistration(const std::string& app_id,
const std::string& sender_id,
const std::string& event,
const std::string& details);
void RecordReceiving(const std::string& app_id,
const std::string& from,
int message_byte_size,
const std::string& event,
const std::string& details);
void RecordSending(const std::string& app_id,
const std::string& receiver_id,
const std::string& message_id,
const std::string& event,
const std::string& details);
bool is_recording_;
Delegate* delegate_;
std::deque<CheckinActivity> checkin_activities_;
std::deque<ConnectionActivity> connection_activities_;
std::deque<RegistrationActivity> registration_activities_;
std::deque<ReceivingActivity> receiving_activities_;
std::deque<SendingActivity> sending_activities_;
DISALLOW_COPY_AND_ASSIGN(GCMStatsRecorderImpl);
};
} // namespace gcm
#endif // GOOGLE_APIS_GCM_GCM_STATS_RECORDER_IMPL_H_
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder_impl.h"
#include <deque>
#include <string>
......@@ -97,10 +97,10 @@ static const char kIncomingSendErrorDetails[] = "";
} // namespace
class GCMStatsRecorderTest : public testing::Test {
class GCMStatsRecorderImplTest : public testing::Test {
public:
GCMStatsRecorderTest();
virtual ~GCMStatsRecorderTest();
GCMStatsRecorderImplTest();
virtual ~GCMStatsRecorderImplTest();
virtual void SetUp() OVERRIDE;
void VerifyRecordedCheckinCount(int expected_count) {
......@@ -339,21 +339,21 @@ class GCMStatsRecorderTest : public testing::Test {
}
std::vector<std::string> sender_ids_;
GCMStatsRecorder recorder_;
GCMStatsRecorderImpl recorder_;
};
GCMStatsRecorderTest::GCMStatsRecorderTest(){
GCMStatsRecorderImplTest::GCMStatsRecorderImplTest(){
}
GCMStatsRecorderTest::~GCMStatsRecorderTest() {}
GCMStatsRecorderImplTest::~GCMStatsRecorderImplTest() {}
void GCMStatsRecorderTest::SetUp(){
void GCMStatsRecorderImplTest::SetUp(){
sender_ids_.push_back("s1");
sender_ids_.push_back("s2");
recorder_.SetRecording(true);
}
TEST_F(GCMStatsRecorderTest, StartStopRecordingTest) {
TEST_F(GCMStatsRecorderImplTest, StartStopRecordingTest) {
EXPECT_TRUE(recorder_.is_recording());
recorder_.RecordDataSentToWire(kAppId, kReceiverId, kMessageId, kQueuedSec);
VerifyRecordedSendingCount(1);
......@@ -403,7 +403,7 @@ TEST_F(GCMStatsRecorderTest, StartStopRecordingTest) {
VerifyAllActivityQueueEmpty("no sending");
}
TEST_F(GCMStatsRecorderTest, ClearLogTest) {
TEST_F(GCMStatsRecorderImplTest, ClearLogTest) {
recorder_.RecordDataSentToWire(kAppId, kReceiverId, kMessageId, kQueuedSec);
VerifyRecordedSendingCount(1);
VerifyDataSentToWire("1st call");
......@@ -417,7 +417,7 @@ TEST_F(GCMStatsRecorderTest, ClearLogTest) {
VerifyRecordedSendingCount(0);
}
TEST_F(GCMStatsRecorderTest, CheckinTest) {
TEST_F(GCMStatsRecorderImplTest, CheckinTest) {
recorder_.RecordCheckinInitiated(kAndroidId);
VerifyRecordedCheckinCount(1);
VerifyCheckinInitiated("1st call");
......@@ -435,7 +435,7 @@ TEST_F(GCMStatsRecorderTest, CheckinTest) {
VerifyCheckinFailure("4th call");
}
TEST_F(GCMStatsRecorderTest, ConnectionTest) {
TEST_F(GCMStatsRecorderImplTest, ConnectionTest) {
recorder_.RecordConnectionInitiated(kHost);
VerifyRecordedConnectionCount(1);
VerifyConnectionInitiated("1st call");
......@@ -457,7 +457,7 @@ TEST_F(GCMStatsRecorderTest, ConnectionTest) {
VerifyConnectionResetSignaled("5th call");
}
TEST_F(GCMStatsRecorderTest, RegistrationTest) {
TEST_F(GCMStatsRecorderImplTest, RegistrationTest) {
recorder_.RecordRegistrationSent(kAppId, kSenderIds);
VerifyRecordedRegistrationCount(1);
VerifyRegistrationSent("1st call");
......@@ -484,7 +484,7 @@ TEST_F(GCMStatsRecorderTest, RegistrationTest) {
VerifyUnregistrationRetryDelayed("6th call");
}
TEST_F(GCMStatsRecorderTest, RecordReceivingTest) {
TEST_F(GCMStatsRecorderImplTest, RecordReceivingTest) {
recorder_.RecordDataMessageReceived(kAppId, kFrom, kByteSize, true,
GCMStatsRecorder::DATA_MESSAGE);
VerifyRecordedReceivingCount(1);
......@@ -501,7 +501,7 @@ TEST_F(GCMStatsRecorderTest, RecordReceivingTest) {
VerifyDataMessageReceivedNotRegistered("3rd call");
}
TEST_F(GCMStatsRecorderTest, RecordSendingTest) {
TEST_F(GCMStatsRecorderImplTest, RecordSendingTest) {
recorder_.RecordDataSentToWire(kAppId, kReceiverId, kMessageId, kQueuedSec);
VerifyRecordedSendingCount(1);
VerifyDataSentToWire("1st call");
......
......@@ -31,7 +31,7 @@
#include "google_apis/gcm/engine/gcm_store_impl.h"
#include "google_apis/gcm/engine/gservices_settings.h"
#include "google_apis/gcm/engine/mcs_client.h"
#include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
#include "google_apis/gcm/monitoring/fake_gcm_stats_recorder.h"
#include "net/base/host_mapping_rules.h"
#include "net/base/net_log_logger.h"
#include "net/cert/cert_verifier.h"
......@@ -243,7 +243,7 @@ class MCSProbe {
scoped_refptr<net::HttpNetworkSession> network_session_;
scoped_ptr<net::ProxyService> proxy_service_;
GCMStatsRecorder recorder_;
FakeGCMStatsRecorder recorder_;
scoped_ptr<GCMStore> gcm_store_;
scoped_ptr<MCSClient> mcs_client_;
scoped_ptr<CheckinRequest> checkin_request_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment