OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "google_apis/gcm/engine/mcs_client.h" | 5 #include "google_apis/gcm/engine/mcs_client.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 TEST_F(MCSClientTest, LoginSuccess) { | 268 TEST_F(MCSClientTest, LoginSuccess) { |
269 BuildMCSClient(); | 269 BuildMCSClient(); |
270 InitializeClient(); | 270 InitializeClient(); |
271 LoginClient(std::vector<std::string>()); | 271 LoginClient(std::vector<std::string>()); |
272 EXPECT_TRUE(connection_factory()->IsEndpointReachable()); | 272 EXPECT_TRUE(connection_factory()->IsEndpointReachable()); |
273 EXPECT_TRUE(init_success()); | 273 EXPECT_TRUE(init_success()); |
274 ASSERT_TRUE(received_message()); | 274 ASSERT_TRUE(received_message()); |
275 EXPECT_EQ(kLoginResponseTag, received_message()->tag()); | 275 EXPECT_EQ(kLoginResponseTag, received_message()->tag()); |
276 } | 276 } |
277 | 277 |
278 // Encounter a server error during the login attempt. | 278 // Encounter a server error during the login attempt. Should trigger a |
| 279 // reconnect. |
279 TEST_F(MCSClientTest, FailLogin) { | 280 TEST_F(MCSClientTest, FailLogin) { |
280 BuildMCSClient(); | 281 BuildMCSClient(); |
281 InitializeClient(); | 282 InitializeClient(); |
282 GetFakeHandler()->set_fail_login(true); | 283 GetFakeHandler()->set_fail_login(true); |
| 284 connection_factory()->set_delay_reconnect(true); |
283 LoginClient(std::vector<std::string>()); | 285 LoginClient(std::vector<std::string>()); |
284 EXPECT_FALSE(connection_factory()->IsEndpointReachable()); | 286 EXPECT_FALSE(connection_factory()->IsEndpointReachable()); |
285 EXPECT_FALSE(init_success()); | 287 EXPECT_FALSE(init_success()); |
286 EXPECT_FALSE(received_message()); | 288 EXPECT_FALSE(received_message()); |
| 289 EXPECT_TRUE(connection_factory()->reconnect_pending()); |
287 } | 290 } |
288 | 291 |
289 // Send a message without RMQ support. | 292 // Send a message without RMQ support. |
290 TEST_F(MCSClientTest, SendMessageNoRMQ) { | 293 TEST_F(MCSClientTest, SendMessageNoRMQ) { |
291 BuildMCSClient(); | 294 BuildMCSClient(); |
292 InitializeClient(); | 295 InitializeClient(); |
293 LoginClient(std::vector<std::string>()); | 296 LoginClient(std::vector<std::string>()); |
294 MCSMessage message(BuildDataMessage("from", "category", "X", 1, "", 0, 1, 0)); | 297 MCSMessage message(BuildDataMessage("from", "category", "X", 1, "", 0, 1, 0)); |
295 GetFakeHandler()->ExpectOutgoingMessage(message); | 298 GetFakeHandler()->ExpectOutgoingMessage(message); |
296 mcs_client()->SendMessage(message); | 299 mcs_client()->SendMessage(message); |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 LoginClient(std::vector<std::string>()); | 719 LoginClient(std::vector<std::string>()); |
717 PumpLoop(); | 720 PumpLoop(); |
718 EXPECT_EQ("X", sent_message_id()); | 721 EXPECT_EQ("X", sent_message_id()); |
719 EXPECT_EQ(MCSClient::TTL_EXCEEDED, message_send_status()); | 722 EXPECT_EQ(MCSClient::TTL_EXCEEDED, message_send_status()); |
720 EXPECT_TRUE(GetFakeHandler()->AllOutgoingMessagesReceived()); | 723 EXPECT_TRUE(GetFakeHandler()->AllOutgoingMessagesReceived()); |
721 } | 724 } |
722 | 725 |
723 } // namespace | 726 } // namespace |
724 | 727 |
725 } // namespace gcm | 728 } // namespace gcm |
OLD | NEW |