Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(958)

Side by Side Diff: chrome/browser/services/gcm/push_messaging_browsertest.cc

Issue 822203006: Push API: Replace buggy FutureData test helper with ResultQueue (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@uservisible
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
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"
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 342
343 ASSERT_TRUE(RunScript("isControlled()", &script_result)); 343 ASSERT_TRUE(RunScript("isControlled()", &script_result));
344 ASSERT_EQ("false - is not controlled", script_result); 344 ASSERT_EQ("false - is not controlled", script_result);
345 345
346 LoadTestPage(); // Reload to become controlled. 346 LoadTestPage(); // Reload to become controlled.
347 347
348 ASSERT_TRUE(RunScript("isControlled()", &script_result)); 348 ASSERT_TRUE(RunScript("isControlled()", &script_result));
349 ASSERT_EQ("true - is controlled", script_result); 349 ASSERT_EQ("true - is controlled", script_result);
350 350
351 GCMClient::IncomingMessage message; 351 GCMClient::IncomingMessage message;
352 GCMClient::MessageData messageData; 352 message.data["data"] = "testdata";
353 messageData.insert(std::pair<std::string, std::string>("data", "testdata"));
354 message.data = messageData;
355 push_service()->OnMessage(app_id.ToString(), message); 353 push_service()->OnMessage(app_id.ToString(), message);
356 ASSERT_TRUE(RunScript("pushData.get()", &script_result)); 354 ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result));
357 EXPECT_EQ("testdata", script_result); 355 EXPECT_EQ("testdata", script_result);
358 } 356 }
359 357
360 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoServiceWorker) { 358 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoServiceWorker) {
361 std::string script_result; 359 std::string script_result;
362 360
363 TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */); 361 TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */);
364 362
365 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0LL); 363 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0LL);
366 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); 364 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id());
(...skipping 11 matching lines...) Expand all
378 ASSERT_TRUE(RunScript("unregisterServiceWorker()", &script_result)); 376 ASSERT_TRUE(RunScript("unregisterServiceWorker()", &script_result));
379 ASSERT_EQ("service worker unregistration status: true", script_result); 377 ASSERT_EQ("service worker unregistration status: true", script_result);
380 378
381 // When the push service will receive it next message, given that there is no 379 // When the push service will receive it next message, given that there is no
382 // SW available, it should unregister |app_id|. 380 // SW available, it should unregister |app_id|.
383 UnregistrationCallback callback; 381 UnregistrationCallback callback;
384 gcm_service()->SetUnregisterCallback(base::Bind(&UnregistrationCallback::Run, 382 gcm_service()->SetUnregisterCallback(base::Bind(&UnregistrationCallback::Run,
385 base::Unretained(&callback))); 383 base::Unretained(&callback)));
386 384
387 GCMClient::IncomingMessage message; 385 GCMClient::IncomingMessage message;
388 GCMClient::MessageData messageData; 386 message.data["data"] = "testdata";
389 messageData.insert(std::pair<std::string, std::string>("data", "testdata"));
390 message.data = messageData;
391 push_service()->OnMessage(app_id.ToString(), message); 387 push_service()->OnMessage(app_id.ToString(), message);
392 388
393 callback.WaitUntilSatisfied(); 389 callback.WaitUntilSatisfied();
394 EXPECT_EQ(app_id.ToString(), callback.app_id()); 390 EXPECT_EQ(app_id.ToString(), callback.app_id());
395 391
396 // No push data should have been received. 392 // No push data should have been received.
397 ASSERT_TRUE(RunScript("pushData.getImmediately()", &script_result)); 393 ASSERT_TRUE(RunScript("resultQueue.popImmediately()", &script_result));
398 EXPECT_EQ("null", script_result); 394 EXPECT_EQ("null", script_result);
399 } 395 }
400 396
401 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoPermission) { 397 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoPermission) {
402 std::string script_result; 398 std::string script_result;
403 399
404 TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */); 400 TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */);
405 401
406 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0LL); 402 PushMessagingApplicationId app_id(https_server()->GetURL(""), 0LL);
407 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); 403 EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id());
(...skipping 11 matching lines...) Expand all
419 browser()->profile()->GetHostContentSettingsMap()-> 415 browser()->profile()->GetHostContentSettingsMap()->
420 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING); 416 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING);
421 417
422 // When the push service will receive its next message, given that there is no 418 // When the push service will receive its next message, given that there is no
423 // SW available, it should unregister |app_id|. 419 // SW available, it should unregister |app_id|.
424 UnregistrationCallback callback; 420 UnregistrationCallback callback;
425 gcm_service()->SetUnregisterCallback(base::Bind(&UnregistrationCallback::Run, 421 gcm_service()->SetUnregisterCallback(base::Bind(&UnregistrationCallback::Run,
426 base::Unretained(&callback))); 422 base::Unretained(&callback)));
427 423
428 GCMClient::IncomingMessage message; 424 GCMClient::IncomingMessage message;
429 GCMClient::MessageData messageData; 425 message.data["data"] = "testdata";
430 messageData.insert(std::pair<std::string, std::string>("data", "testdata"));
431 message.data = messageData;
432 push_service()->OnMessage(app_id.ToString(), message); 426 push_service()->OnMessage(app_id.ToString(), message);
433 427
434 callback.WaitUntilSatisfied(); 428 callback.WaitUntilSatisfied();
435 EXPECT_EQ(app_id.ToString(), callback.app_id()); 429 EXPECT_EQ(app_id.ToString(), callback.app_id());
436 430
437 // No push data should have been received. 431 // No push data should have been received.
438 ASSERT_TRUE(RunScript("pushData.getImmediately()", &script_result)); 432 ASSERT_TRUE(RunScript("resultQueue.popImmediately()", &script_result));
439 EXPECT_EQ("null", script_result); 433 EXPECT_EQ("null", script_result);
440 } 434 }
441 435
442 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, HasPermissionSaysDefault) { 436 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, HasPermissionSaysDefault) {
443 std::string script_result; 437 std::string script_result;
444 438
445 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 439 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
446 ASSERT_EQ("ok - service worker registered", script_result); 440 ASSERT_EQ("ok - service worker registered", script_result);
447 441
448 ASSERT_TRUE(RunScript("hasPermission()", &script_result)); 442 ASSERT_TRUE(RunScript("hasPermission()", &script_result));
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 509
516 gcm_service()->AddExpectedUnregisterResponse(GCMClient::UNKNOWN_ERROR); 510 gcm_service()->AddExpectedUnregisterResponse(GCMClient::UNKNOWN_ERROR);
517 511
518 ASSERT_TRUE(RunScript("unregister()", &script_result)); 512 ASSERT_TRUE(RunScript("unregister()", &script_result));
519 EXPECT_EQ("unregister error: " 513 EXPECT_EQ("unregister error: "
520 "UnknownError: Unexpected error while trying to unregister from the" 514 "UnknownError: Unexpected error while trying to unregister from the"
521 " push server.", script_result); 515 " push server.", script_result);
522 } 516 }
523 517
524 } // namespace gcm 518 } // namespace gcm
OLDNEW
« no previous file with comments | « no previous file | chrome/test/data/push_messaging/push_test.js » ('j') | chrome/test/data/push_messaging/push_test.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698