OLD | NEW |
---|---|
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <algorithm> | 5 #include <algorithm> |
6 #include <map> | 6 #include <map> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
11 #include "base/prefs/pref_service.h" | 11 #include "base/prefs/pref_service.h" |
12 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
13 #include "base/strings/string_tokenizer.h" | |
13 #include "chrome/browser/chrome_notification_types.h" | 14 #include "chrome/browser/chrome_notification_types.h" |
14 #include "chrome/browser/extensions/state_store.h" | 15 #include "chrome/browser/extensions/state_store.h" |
15 #include "chrome/browser/extensions/test_extension_service.h" | 16 #include "chrome/browser/extensions/test_extension_service.h" |
16 #include "chrome/browser/extensions/test_extension_system.h" | 17 #include "chrome/browser/extensions/test_extension_system.h" |
17 #include "chrome/browser/services/gcm/gcm_client_factory.h" | 18 #include "chrome/browser/services/gcm/gcm_client_factory.h" |
18 #include "chrome/browser/services/gcm/gcm_client_mock.h" | 19 #include "chrome/browser/services/gcm/gcm_client_mock.h" |
19 #include "chrome/browser/services/gcm/gcm_event_router.h" | 20 #include "chrome/browser/services/gcm/gcm_event_router.h" |
20 #include "chrome/browser/services/gcm/gcm_profile_service.h" | 21 #include "chrome/browser/services/gcm/gcm_profile_service.h" |
21 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" | 22 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" |
22 #include "chrome/browser/signin/signin_manager_base.h" | 23 #include "chrome/browser/signin/signin_manager_base.h" |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
532 } | 533 } |
533 | 534 |
534 void PumpUILoop() { | 535 void PumpUILoop() { |
535 waiter_.PumpUILoop(); | 536 waiter_.PumpUILoop(); |
536 } | 537 } |
537 | 538 |
538 void PumpIOLoop() { | 539 void PumpIOLoop() { |
539 waiter_.PumpIOLoop(); | 540 waiter_.PumpIOLoop(); |
540 } | 541 } |
541 | 542 |
543 void RegisterAllSenders(GCMProfileServiceTestConsumer* consumer, | |
jianli
2014/03/05 01:33:02
This should be defined in GCMProfileServiceTestCon
fgorski
2014/03/05 19:30:22
Done. I extracted string to vector conversion to a
| |
544 const std::string& app_id, | |
545 const std::string& sender_ids) { | |
546 std::vector<std::string> senders; | |
547 base::StringTokenizer tokenizer(sender_ids, ","); | |
548 while (tokenizer.GetNext()) | |
549 senders.push_back(tokenizer.token()); | |
550 consumer->Register(app_id, senders); | |
551 WaitUntilCompleted(); | |
552 } | |
553 | |
542 Profile* profile() const { return consumer_->profile(); } | 554 Profile* profile() const { return consumer_->profile(); } |
543 GCMProfileServiceTestConsumer* consumer() const { return consumer_.get(); } | 555 GCMProfileServiceTestConsumer* consumer() const { return consumer_.get(); } |
544 | 556 |
545 protected: | 557 protected: |
546 Waiter waiter_; | 558 Waiter waiter_; |
547 | 559 |
548 private: | 560 private: |
549 scoped_ptr<content::TestBrowserThreadBundle> thread_bundle_; | 561 scoped_ptr<content::TestBrowserThreadBundle> thread_bundle_; |
550 #if defined(OS_CHROMEOS) | 562 #if defined(OS_CHROMEOS) |
551 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; | 563 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; |
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1017 EXPECT_EQ(FakeGCMEventRouter::SEND_ERROR_EVENT, | 1029 EXPECT_EQ(FakeGCMEventRouter::SEND_ERROR_EVENT, |
1018 consumer()->gcm_event_router()->received_event()); | 1030 consumer()->gcm_event_router()->received_event()); |
1019 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); | 1031 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); |
1020 EXPECT_EQ(consumer()->send_message_id(), | 1032 EXPECT_EQ(consumer()->send_message_id(), |
1021 consumer()->gcm_event_router()->send_message_id()); | 1033 consumer()->gcm_event_router()->send_message_id()); |
1022 EXPECT_NE(GCMClient::SUCCESS, | 1034 EXPECT_NE(GCMClient::SUCCESS, |
1023 consumer()->gcm_event_router()->send_result()); | 1035 consumer()->gcm_event_router()->send_result()); |
1024 } | 1036 } |
1025 | 1037 |
1026 TEST_F(GCMProfileServiceSingleProfileTest, MessageReceived) { | 1038 TEST_F(GCMProfileServiceSingleProfileTest, MessageReceived) { |
1039 RegisterAllSenders(consumer(), kTestingAppId, "sender"); | |
1027 GCMClient::IncomingMessage message; | 1040 GCMClient::IncomingMessage message; |
1028 message.data["key1"] = "value1"; | 1041 message.data["key1"] = "value1"; |
1029 message.data["key2"] = "value2"; | 1042 message.data["key2"] = "value2"; |
1043 message.sender_id = "sender"; | |
1030 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | 1044 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); |
1031 WaitUntilCompleted(); | 1045 WaitUntilCompleted(); |
1032 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1046 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1033 consumer()->gcm_event_router()->received_event()); | 1047 consumer()->gcm_event_router()->received_event()); |
1034 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); | 1048 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); |
1035 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); | 1049 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); |
1036 EXPECT_TRUE(consumer()->gcm_event_router()->message().collapse_key.empty()); | 1050 EXPECT_TRUE(consumer()->gcm_event_router()->message().collapse_key.empty()); |
1051 EXPECT_EQ(message.sender_id, | |
1052 consumer()->gcm_event_router()->message().sender_id); | |
1053 } | |
1054 | |
1055 TEST_F(GCMProfileServiceSingleProfileTest, | |
1056 MessageNotReceivedWhenSenderNotRegistered) { | |
jianli
2014/03/05 01:33:02
nit: MessageNotReceivedFromNotRegisteredSender
fgorski
2014/03/05 19:30:22
Done.
| |
1057 // Explicitly not registering the sender2 here, so that message gets dropped. | |
1058 RegisterAllSenders(consumer(), kTestingAppId, "sender1"); | |
1059 GCMClient::IncomingMessage message; | |
1060 message.data["key1"] = "value1"; | |
1061 message.data["key2"] = "value2"; | |
1062 message.sender_id = "sender2"; | |
1063 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | |
1064 PumpUILoop(); | |
1065 EXPECT_EQ(FakeGCMEventRouter::NO_EVENT, | |
1066 consumer()->gcm_event_router()->received_event()); | |
1067 consumer()->gcm_event_router()->clear_results(); | |
1068 | |
1069 // Register for sender2 and try to receive the message again, which should | |
1070 // work with no problems. | |
1071 RegisterAllSenders(consumer(), kTestingAppId, "sender1,sender2"); | |
1072 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | |
1073 WaitUntilCompleted(); | |
1074 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | |
1075 consumer()->gcm_event_router()->received_event()); | |
1076 consumer()->gcm_event_router()->clear_results(); | |
1077 | |
1078 // Making sure that sender1 can receive the message as well. | |
1079 message.sender_id = "sender1"; | |
1080 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | |
1081 WaitUntilCompleted(); | |
1082 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | |
1083 consumer()->gcm_event_router()->received_event()); | |
1084 consumer()->gcm_event_router()->clear_results(); | |
1085 | |
1086 // Register for sender1 only and make sure it is not possible to receive the | |
1087 // message again from from sender1. | |
1088 RegisterAllSenders(consumer(), kTestingAppId, "sender2"); | |
1089 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | |
1090 PumpUILoop(); | |
1091 EXPECT_EQ(FakeGCMEventRouter::NO_EVENT, | |
1092 consumer()->gcm_event_router()->received_event()); | |
1037 } | 1093 } |
1038 | 1094 |
1039 TEST_F(GCMProfileServiceSingleProfileTest, MessageWithCollapseKeyReceived) { | 1095 TEST_F(GCMProfileServiceSingleProfileTest, MessageWithCollapseKeyReceived) { |
1096 RegisterAllSenders(consumer(), kTestingAppId, "sender"); | |
1040 GCMClient::IncomingMessage message; | 1097 GCMClient::IncomingMessage message; |
1041 message.data["key1"] = "value1"; | 1098 message.data["key1"] = "value1"; |
1042 message.collapse_key = "collapse_key_value"; | 1099 message.collapse_key = "collapse_key_value"; |
1100 message.sender_id = "sender"; | |
1043 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | 1101 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); |
1044 WaitUntilCompleted(); | 1102 WaitUntilCompleted(); |
1045 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1103 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1046 consumer()->gcm_event_router()->received_event()); | 1104 consumer()->gcm_event_router()->received_event()); |
1047 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); | 1105 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); |
1048 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); | 1106 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); |
1049 EXPECT_EQ(message.collapse_key, | 1107 EXPECT_EQ(message.collapse_key, |
1050 consumer()->gcm_event_router()->message().collapse_key); | 1108 consumer()->gcm_event_router()->message().collapse_key); |
1051 } | 1109 } |
1052 | 1110 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1161 message3.data["hello"] = "world"; | 1219 message3.data["hello"] = "world"; |
1162 consumer2()->Send(kTestingAppId2, kUserId, message3); | 1220 consumer2()->Send(kTestingAppId2, kUserId, message3); |
1163 | 1221 |
1164 WaitUntilCompleted(); | 1222 WaitUntilCompleted(); |
1165 | 1223 |
1166 EXPECT_EQ(consumer2()->send_message_id(), message3.id); | 1224 EXPECT_EQ(consumer2()->send_message_id(), message3.id); |
1167 EXPECT_EQ(GCMClient::SUCCESS, consumer()->send_result()); | 1225 EXPECT_EQ(GCMClient::SUCCESS, consumer()->send_result()); |
1168 } | 1226 } |
1169 | 1227 |
1170 TEST_F(GCMProfileServiceMultiProfileTest, MessageReceived) { | 1228 TEST_F(GCMProfileServiceMultiProfileTest, MessageReceived) { |
1229 RegisterAllSenders(consumer(), kTestingAppId, "sender"); | |
1230 RegisterAllSenders(consumer2(), kTestingAppId, "sender"); | |
1231 RegisterAllSenders(consumer2(), kTestingAppId2, "sender2"); | |
1232 | |
1171 // Trigger an incoming message for an app in one profile. | 1233 // Trigger an incoming message for an app in one profile. |
1172 GCMClient::IncomingMessage message; | 1234 GCMClient::IncomingMessage message; |
1173 message.data["key1"] = "value1"; | 1235 message.data["key1"] = "value1"; |
1174 message.data["key2"] = "value2"; | 1236 message.data["key2"] = "value2"; |
1237 message.sender_id = "sender"; | |
1175 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); | 1238 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, message); |
1176 | 1239 |
1177 // Trigger an incoming message for the same app in another profile. | 1240 // Trigger an incoming message for the same app in another profile. |
1178 GCMClient::IncomingMessage message2; | 1241 GCMClient::IncomingMessage message2; |
1179 message2.data["foo"] = "bar"; | 1242 message2.data["foo"] = "bar"; |
1243 message2.sender_id = "sender"; | |
1180 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId, message2); | 1244 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId, message2); |
1181 | 1245 |
1182 WaitUntilCompleted(); | 1246 WaitUntilCompleted(); |
1183 WaitUntilCompleted(); | 1247 WaitUntilCompleted(); |
1184 | 1248 |
1185 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1249 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1186 consumer()->gcm_event_router()->received_event()); | 1250 consumer()->gcm_event_router()->received_event()); |
1187 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); | 1251 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); |
1188 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); | 1252 EXPECT_TRUE(message.data == consumer()->gcm_event_router()->message().data); |
1253 EXPECT_EQ("sender", consumer()->gcm_event_router()->message().sender_id); | |
1189 | 1254 |
1190 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1255 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1191 consumer2()->gcm_event_router()->received_event()); | 1256 consumer2()->gcm_event_router()->received_event()); |
1192 EXPECT_EQ(kTestingAppId, consumer2()->gcm_event_router()->app_id()); | 1257 EXPECT_EQ(kTestingAppId, consumer2()->gcm_event_router()->app_id()); |
1193 EXPECT_TRUE(message2.data == consumer2()->gcm_event_router()->message().data); | 1258 EXPECT_TRUE(message2.data == consumer2()->gcm_event_router()->message().data); |
1259 EXPECT_EQ("sender", consumer2()->gcm_event_router()->message().sender_id); | |
1194 | 1260 |
1195 // Trigger another incoming message for a different app in another profile. | 1261 // Trigger another incoming message for a different app in another profile. |
1196 GCMClient::IncomingMessage message3; | 1262 GCMClient::IncomingMessage message3; |
1197 message3.data["bar1"] = "foo1"; | 1263 message3.data["bar1"] = "foo1"; |
1198 message3.data["bar2"] = "foo2"; | 1264 message3.data["bar2"] = "foo2"; |
1265 message3.sender_id = "sender2"; | |
1199 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId2, message3); | 1266 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId2, message3); |
1200 | 1267 |
1201 WaitUntilCompleted(); | 1268 WaitUntilCompleted(); |
1202 | 1269 |
1203 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1270 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1204 consumer2()->gcm_event_router()->received_event()); | 1271 consumer2()->gcm_event_router()->received_event()); |
1205 EXPECT_EQ(kTestingAppId2, consumer2()->gcm_event_router()->app_id()); | 1272 EXPECT_EQ(kTestingAppId2, consumer2()->gcm_event_router()->app_id()); |
1206 EXPECT_TRUE(message3.data == consumer2()->gcm_event_router()->message().data); | 1273 EXPECT_TRUE(message3.data == consumer2()->gcm_event_router()->message().data); |
1274 EXPECT_EQ("sender2", consumer2()->gcm_event_router()->message().sender_id); | |
1207 } | 1275 } |
1208 | 1276 |
1209 // Test a set of GCM operations on multiple profiles. | 1277 // Test a set of GCM operations on multiple profiles. |
1210 // 1) Register 1 app in profile1 and register 2 apps in profile2; | 1278 // 1) Register 1 app in profile1 and register 2 apps in profile2; |
1211 // 2) Send a message from profile1; | 1279 // 2) Send a message from profile1; |
1212 // 3) Receive a message to an app in profile1 and receive a message for each of | 1280 // 3) Receive a message to an app in profile1 and receive a message for each of |
1213 // two apps in profile2; | 1281 // two apps in profile2; |
1214 // 4) Send a message foe ach of two apps in profile2; | 1282 // 4) Send a message foe ach of two apps in profile2; |
1215 // 5) Sign out of profile1. | 1283 // 5) Sign out of profile1. |
1216 // 6) Register/send stops working for profile1; | 1284 // 6) Register/send stops working for profile1; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1257 | 1325 |
1258 WaitUntilCompleted(); | 1326 WaitUntilCompleted(); |
1259 | 1327 |
1260 EXPECT_EQ(consumer()->send_message_id(), out_message.id); | 1328 EXPECT_EQ(consumer()->send_message_id(), out_message.id); |
1261 EXPECT_EQ(GCMClient::SUCCESS, consumer()->send_result()); | 1329 EXPECT_EQ(GCMClient::SUCCESS, consumer()->send_result()); |
1262 | 1330 |
1263 // Trigger an incoming message for an app in one profile. | 1331 // Trigger an incoming message for an app in one profile. |
1264 GCMClient::IncomingMessage in_message; | 1332 GCMClient::IncomingMessage in_message; |
1265 in_message.data["in1"] = "in_data1"; | 1333 in_message.data["in1"] = "in_data1"; |
1266 in_message.data["in1_2"] = "in_data1_2"; | 1334 in_message.data["in1_2"] = "in_data1_2"; |
1335 in_message.sender_id = "sender1"; | |
1267 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message); | 1336 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message); |
1268 | 1337 |
1269 WaitUntilCompleted(); | 1338 WaitUntilCompleted(); |
1270 | 1339 |
1271 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1340 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1272 consumer()->gcm_event_router()->received_event()); | 1341 consumer()->gcm_event_router()->received_event()); |
1273 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); | 1342 EXPECT_EQ(kTestingAppId, consumer()->gcm_event_router()->app_id()); |
1274 EXPECT_TRUE( | 1343 EXPECT_TRUE( |
1275 in_message.data == consumer()->gcm_event_router()->message().data); | 1344 in_message.data == consumer()->gcm_event_router()->message().data); |
1276 | 1345 |
1277 // Trigger 2 incoming messages, one for each app respectively, in another | 1346 // Trigger 2 incoming messages, one for each app respectively, in another |
1278 // profile. | 1347 // profile. |
1279 GCMClient::IncomingMessage in_message2; | 1348 GCMClient::IncomingMessage in_message2; |
1280 in_message2.data["in2"] = "in_data2"; | 1349 in_message2.data["in2"] = "in_data2"; |
1350 in_message2.sender_id = "sender3"; | |
1281 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId2, in_message2); | 1351 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId2, in_message2); |
1282 | 1352 |
1283 GCMClient::IncomingMessage in_message3; | 1353 GCMClient::IncomingMessage in_message3; |
1284 in_message3.data["in3"] = "in_data3"; | 1354 in_message3.data["in3"] = "in_data3"; |
1285 in_message3.data["in3_2"] = "in_data3_2"; | 1355 in_message3.data["in3_2"] = "in_data3_2"; |
1356 in_message3.sender_id = "foo"; | |
1286 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message3); | 1357 consumer2()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message3); |
1287 | 1358 |
1288 consumer2()->gcm_event_router()->clear_results(); | 1359 consumer2()->gcm_event_router()->clear_results(); |
1289 WaitUntilCompleted(); | 1360 WaitUntilCompleted(); |
1290 | 1361 |
1291 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1362 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1292 consumer2()->gcm_event_router()->received_event()); | 1363 consumer2()->gcm_event_router()->received_event()); |
1293 EXPECT_EQ(kTestingAppId2, consumer2()->gcm_event_router()->app_id()); | 1364 EXPECT_EQ(kTestingAppId2, consumer2()->gcm_event_router()->app_id()); |
1294 EXPECT_TRUE( | 1365 EXPECT_TRUE( |
1295 in_message2.data == consumer2()->gcm_event_router()->message().data); | 1366 in_message2.data == consumer2()->gcm_event_router()->message().data); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1364 consumer2()->gcm_event_router()->received_event()); | 1435 consumer2()->gcm_event_router()->received_event()); |
1365 EXPECT_EQ(kTestingAppId, consumer2()->gcm_event_router()->app_id()); | 1436 EXPECT_EQ(kTestingAppId, consumer2()->gcm_event_router()->app_id()); |
1366 EXPECT_EQ(consumer2()->send_message_id(), | 1437 EXPECT_EQ(consumer2()->send_message_id(), |
1367 consumer2()->gcm_event_router()->send_message_id()); | 1438 consumer2()->gcm_event_router()->send_message_id()); |
1368 EXPECT_NE(GCMClient::SUCCESS, | 1439 EXPECT_NE(GCMClient::SUCCESS, |
1369 consumer2()->gcm_event_router()->send_result()); | 1440 consumer2()->gcm_event_router()->send_result()); |
1370 | 1441 |
1371 // Sign in with a different user. | 1442 // Sign in with a different user. |
1372 consumer()->SignIn(kTestingUsername3); | 1443 consumer()->SignIn(kTestingUsername3); |
1373 | 1444 |
1445 // Signing our cleared all registrations, so we need to register again. | |
jianli
2014/03/05 01:33:02
nit: out
fgorski
2014/03/05 19:30:22
Done.
| |
1446 RegisterAllSenders(consumer(), kTestingAppId, "sender1"); | |
1447 | |
1374 // Incoming message will go through for the new signed-in user. | 1448 // Incoming message will go through for the new signed-in user. |
1375 GCMClient::IncomingMessage in_message5; | 1449 GCMClient::IncomingMessage in_message5; |
1376 in_message5.data["in5"] = "in_data5"; | 1450 in_message5.data["in5"] = "in_data5"; |
1451 in_message5.sender_id = "sender1"; | |
1377 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message5); | 1452 consumer()->GetGCMClient()->ReceiveMessage(kTestingAppId, in_message5); |
1378 | 1453 |
1379 consumer()->gcm_event_router()->clear_results(); | 1454 consumer()->gcm_event_router()->clear_results(); |
1380 WaitUntilCompleted(); | 1455 WaitUntilCompleted(); |
1381 | 1456 |
1382 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, | 1457 EXPECT_EQ(FakeGCMEventRouter::MESSAGE_EVENT, |
1383 consumer()->gcm_event_router()->received_event()); | 1458 consumer()->gcm_event_router()->received_event()); |
1384 EXPECT_TRUE( | 1459 EXPECT_TRUE( |
1385 in_message5.data == consumer()->gcm_event_router()->message().data); | 1460 in_message5.data == consumer()->gcm_event_router()->message().data); |
1386 } | 1461 } |
1387 | 1462 |
1388 } // namespace gcm | 1463 } // namespace gcm |
OLD | NEW |