Chromium Code Reviews| Index: components/gcm_driver/gcm_client_impl_unittest.cc |
| diff --git a/components/gcm_driver/gcm_client_impl_unittest.cc b/components/gcm_driver/gcm_client_impl_unittest.cc |
| index b477918152974ec16724a6c1ea87e3a30d105800..e4f2b0997e9ff48560447edd295fd4b9c8a8e562 100644 |
| --- a/components/gcm_driver/gcm_client_impl_unittest.cc |
| +++ b/components/gcm_driver/gcm_client_impl_unittest.cc |
| @@ -35,6 +35,7 @@ enum LastEvent { |
| REGISTRATION_COMPLETED, |
| UNREGISTRATION_COMPLETED, |
| MESSAGE_SEND_ERROR, |
| + MESSAGE_SEND_ACK, |
| MESSAGE_RECEIVED, |
| MESSAGES_DELETED, |
| }; |
| @@ -223,6 +224,10 @@ class GCMClientImplTest : public testing::Test, |
| void InitializeGCMClient(); |
| void StartGCMClient(); |
| void ReceiveMessageFromMCS(const MCSMessage& message); |
| + void ReceiveOnMessageSentToMCS( |
| + const std::string& app_id, |
| + const std::string& message_id, |
| + const MCSClient::MessageSendStatus status); |
| void CompleteCheckin(uint64 android_id, |
| uint64 security_token, |
| const std::string& digest, |
| @@ -251,6 +256,8 @@ class GCMClientImplTest : public testing::Test, |
| virtual void OnMessageSendError( |
| const std::string& app_id, |
| const gcm::GCMClient::SendErrorDetails& send_error_details) OVERRIDE; |
| + virtual void OnSendAcknowledged(const std::string& app_id, |
| + const std::string& message_id) OVERRIDE; |
| virtual void OnGCMReady() OVERRIDE; |
| virtual void OnActivityRecorded() OVERRIDE {} |
| virtual void OnConnected(const net::IPEndPoint& ip_endpoint) OVERRIDE {} |
| @@ -474,6 +481,13 @@ void GCMClientImplTest::ReceiveMessageFromMCS(const MCSMessage& message) { |
| gcm_client_->OnMessageReceivedFromMCS(message); |
| } |
| +void GCMClientImplTest::ReceiveOnMessageSentToMCS( |
| + const std::string& app_id, |
| + const std::string& message_id, |
| + const MCSClient::MessageSendStatus status) { |
| + gcm_client_->OnMessageSentToMCS(0LL, app_id, message_id, status); |
| +} |
| + |
| void GCMClientImplTest::OnGCMReady() { |
| last_event_ = LOADING_COMPLETED; |
| QuitLoop(); |
| @@ -517,6 +531,13 @@ void GCMClientImplTest::OnMessageSendError( |
| last_error_details_ = send_error_details; |
| } |
| +void GCMClientImplTest::OnSendAcknowledged(const std::string& app_id, |
| + const std::string& message_id) { |
| + last_event_ = MESSAGE_SEND_ACK; |
| + last_app_id_ = app_id; |
| + last_message_id_ = message_id; |
| +} |
| + |
| int64 GCMClientImplTest::CurrentTime() { |
| return clock()->Now().ToInternalValue() / base::Time::kMicrosecondsPerSecond; |
| } |
| @@ -678,9 +699,6 @@ TEST_F(GCMClientImplTest, DispatchDownstreamMessgaesDeleted) { |
| } |
| TEST_F(GCMClientImplTest, SendMessage) { |
| - mcs_proto::DataMessageStanza stanza; |
|
Nicolas Zea
2014/08/05 23:39:48
Why was this removed?
fgorski
2014/08/06 16:22:27
Because it is not needed.
It seems that when the t
|
| - stanza.set_ttl(500); |
| - |
| GCMClient::OutgoingMessage message; |
| message.id = "007"; |
| message.time_to_live = 500; |
| @@ -700,6 +718,13 @@ TEST_F(GCMClientImplTest, SendMessage) { |
| mcs_client()->last_data_message_stanza().app_data(0).value()); |
| } |
| +TEST_F(GCMClientImplTest, SendMessageAcknowledged) { |
| + ReceiveOnMessageSentToMCS(kAppId, "007", MCSClient::SENT); |
| + EXPECT_EQ(MESSAGE_SEND_ACK, last_event()); |
| + EXPECT_EQ(kAppId, last_app_id()); |
| + EXPECT_EQ("007", last_message_id()); |
| +} |
| + |
| class GCMClientImplCheckinTest : public GCMClientImplTest { |
| public: |
| GCMClientImplCheckinTest(); |