| Index: chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
|
| diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
|
| index 6960205f4946f92b72c385cbd60628a51fb3e5ee..6a384709fa476ef0b2f0bcba2885dfbe8a202f9f 100644
|
| --- a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
|
| +++ b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
|
| @@ -10,19 +10,23 @@
|
| #include "chrome/browser/extensions/extension_apitest.h"
|
| #include "chrome/browser/extensions/extension_test_message_listener.h"
|
| #include "chrome/browser/extensions/platform_app_launcher.h"
|
| +#include "chrome/browser/invalidation/fake_invalidation_service.h"
|
| +#include "chrome/browser/invalidation/invalidation_service.h"
|
| +#include "chrome/browser/invalidation/invalidation_service_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/sync/profile_sync_service.h"
|
| -#include "chrome/browser/sync/profile_sync_service_factory.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "google/cacheinvalidation/types.pb.h"
|
| +#include "sync/notifier/fake_invalidator.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
|
|
| using ::testing::_;
|
| using ::testing::SaveArg;
|
| using ::testing::StrictMock;
|
|
|
| +using invalidation::InvalidationServiceFactory;
|
| +
|
| namespace extensions {
|
|
|
| namespace {
|
| @@ -52,10 +56,34 @@ MockInvalidationMapper::~MockInvalidationMapper() {}
|
|
|
| class PushMessagingApiTest : public ExtensionApiTest {
|
| public:
|
| + PushMessagingApiTest()
|
| + : fake_invalidation_service_(NULL) {
|
| + }
|
| +
|
| virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
|
| ExtensionApiTest::SetUpCommandLine(command_line);
|
| }
|
|
|
| + virtual void SetUp() OVERRIDE {
|
| + InvalidationServiceFactory::GetInstance()->
|
| + SetBuildOnlyFakeInvalidatorsForTest(true);
|
| + ExtensionApiTest::SetUp();
|
| + }
|
| +
|
| + virtual void SetUpOnMainThread() OVERRIDE {
|
| + ExtensionApiTest::SetUpOnMainThread();
|
| + fake_invalidation_service_ =
|
| + static_cast<invalidation::FakeInvalidationService*>(
|
| + InvalidationServiceFactory::GetInstance()->GetForProfile(
|
| + profile()));
|
| + }
|
| +
|
| + void EmitInvalidation(
|
| + const invalidation::ObjectId& object_id,
|
| + const std::string& payload) {
|
| + fake_invalidation_service_->EmitInvalidationForTest(object_id, payload);
|
| + }
|
| +
|
| PushMessagingAPI* GetAPI() {
|
| return PushMessagingAPI::Get(profile());
|
| }
|
| @@ -63,6 +91,8 @@ class PushMessagingApiTest : public ExtensionApiTest {
|
| PushMessagingEventRouter* GetEventRouter() {
|
| return PushMessagingAPI::Get(profile())->GetEventRouterForTest();
|
| }
|
| +
|
| + invalidation::FakeInvalidationService* fake_invalidation_service_;
|
| };
|
|
|
| IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, EventDispatch) {
|
| @@ -92,18 +122,14 @@ IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, ReceivesPush) {
|
| ui_test_utils::NavigateToURL(
|
| browser(), extension->GetResourceURL("event_dispatch.html"));
|
|
|
| - ProfileSyncService* pss =
|
| - ProfileSyncServiceFactory::GetForProfile(profile());
|
| - ASSERT_TRUE(pss);
|
| -
|
| // PushMessagingInvalidationHandler suppresses the initial invalidation on
|
| // each subchannel at install, so trigger the suppressions first.
|
| for (int i = 0; i < 3; ++i) {
|
| - pss->EmitInvalidationForTest(
|
| + EmitInvalidation(
|
| ExtensionAndSubchannelToObjectId(extension->id(), i), std::string());
|
| }
|
|
|
| - pss->EmitInvalidationForTest(
|
| + EmitInvalidation(
|
| ExtensionAndSubchannelToObjectId(extension->id(), 1), "payload");
|
| EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
|
| }
|
|
|