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

Unified Diff: chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc

Issue 1018643003: Removing chrome.pushMessaging API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updates to documentation per kalman's comments Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
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
deleted file mode 100644
index 774066c12e8cf06d0a8bb489e3052e4637d90d3b..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/api/push_messaging/push_messaging_api.h"
-
-#include "apps/launcher.h"
-#include "base/strings/stringprintf.h"
-#include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_handler.h"
-#include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidation_mapper.h"
-#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/invalidation/fake_invalidation_service.h"
-#include "chrome/browser/invalidation/profile_invalidation_provider_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "components/invalidation/fake_invalidator.h"
-#include "components/invalidation/invalidation.h"
-#include "components/invalidation/invalidation_service.h"
-#include "components/invalidation/profile_invalidation_provider.h"
-#include "components/keyed_service/core/keyed_service.h"
-#include "extensions/test/extension_test_message_listener.h"
-#include "extensions/test/result_catcher.h"
-#include "google/cacheinvalidation/types.pb.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-using ::testing::SaveArg;
-using ::testing::StrictMock;
-using ::testing::_;
-
-namespace content {
-class BrowserContext;
-}
-
-namespace extensions {
-
-namespace {
-
-invalidation::ObjectId ExtensionAndSubchannelToObjectId(
- const std::string& extension_id, int subchannel_id) {
- return invalidation::ObjectId(
- ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING,
- base::StringPrintf("U/%s/%d", extension_id.c_str(), subchannel_id));
-}
-
-KeyedService* BuildFakeProfileInvalidationProvider(
- content::BrowserContext* context) {
- return new invalidation::ProfileInvalidationProvider(
- scoped_ptr<invalidation::InvalidationService>(
- new invalidation::FakeInvalidationService));
-}
-
-class MockInvalidationMapper : public PushMessagingInvalidationMapper {
- public:
- MockInvalidationMapper();
- ~MockInvalidationMapper();
-
- MOCK_METHOD1(SuppressInitialInvalidationsForExtension,
- void(const std::string&));
- MOCK_METHOD1(RegisterExtension, void(const std::string&));
- MOCK_METHOD1(UnregisterExtension, void(const std::string&));
-};
-
-MockInvalidationMapper::MockInvalidationMapper() {}
-MockInvalidationMapper::~MockInvalidationMapper() {}
-
-} // namespace
-
-class PushMessagingApiTest : public ExtensionApiTest {
- public:
- PushMessagingApiTest()
- : fake_invalidation_service_(NULL) {
- }
-
- void SetUpCommandLine(base::CommandLine* command_line) override {
- ExtensionApiTest::SetUpCommandLine(command_line);
- }
-
- void SetUp() override {
- invalidation::ProfileInvalidationProviderFactory::GetInstance()->
- RegisterTestingFactory(BuildFakeProfileInvalidationProvider);
- ExtensionApiTest::SetUp();
- }
-
- void SetUpOnMainThread() override {
- ExtensionApiTest::SetUpOnMainThread();
- fake_invalidation_service_ =
- static_cast<invalidation::FakeInvalidationService*>(
- static_cast<invalidation::ProfileInvalidationProvider*>(
- invalidation::ProfileInvalidationProviderFactory::
- GetInstance()->GetForProfile(profile()))->
- GetInvalidationService());
- }
-
- void EmitInvalidation(
- const invalidation::ObjectId& object_id,
- int64 version,
- const std::string& payload) {
- fake_invalidation_service_->EmitInvalidationForTest(
- syncer::Invalidation::Init(object_id, version, payload));
- }
-
- PushMessagingAPI* GetAPI() {
- return PushMessagingAPI::Get(profile());
- }
-
- PushMessagingEventRouter* GetEventRouter() {
- return PushMessagingAPI::Get(profile())->GetEventRouterForTest();
- }
-
- invalidation::FakeInvalidationService* fake_invalidation_service_;
-};
-
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, EventDispatch) {
- ResultCatcher catcher;
- catcher.RestrictToBrowserContext(profile());
-
- const extensions::Extension* extension =
- LoadExtension(test_data_dir_.AppendASCII("push_messaging"));
- ASSERT_TRUE(extension);
- ui_test_utils::NavigateToURL(
- browser(), extension->GetResourceURL("event_dispatch.html"));
-
- GetEventRouter()->TriggerMessageForTest(extension->id(), 1, "payload");
-
- EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-// Test that a push introduced into the sync code makes it to the extension
-// that we install.
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, ReceivesPush) {
- ResultCatcher catcher;
- catcher.RestrictToBrowserContext(profile());
-
- const extensions::Extension* extension =
- LoadExtension(test_data_dir_.AppendASCII("push_messaging"));
- ASSERT_TRUE(extension);
- ui_test_utils::NavigateToURL(
- browser(), extension->GetResourceURL("event_dispatch.html"));
-
- // PushMessagingInvalidationHandler suppresses the initial invalidation on
- // each subchannel at install, so trigger the suppressions first.
- for (int i = 0; i < 3; ++i) {
- EmitInvalidation(
- ExtensionAndSubchannelToObjectId(extension->id(), i), i, std::string());
- }
-
- EmitInvalidation(
- ExtensionAndSubchannelToObjectId(extension->id(), 1), 5, "payload");
- EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-// Checks that an extension with the pushMessaging permission gets automatically
-// registered for invalidations when it is loaded.
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, AutoRegistration) {
- scoped_ptr<StrictMock<MockInvalidationMapper> > mapper(
- new StrictMock<MockInvalidationMapper>);
- StrictMock<MockInvalidationMapper>* unsafe_mapper = mapper.get();
- // PushMessagingEventRouter owns the mapper now.
- GetAPI()->SetMapperForTest(mapper.Pass());
-
- std::string extension_id1;
- std::string extension_id2;
- EXPECT_CALL(*unsafe_mapper, SuppressInitialInvalidationsForExtension(_))
- .WillOnce(SaveArg<0>(&extension_id1));
- EXPECT_CALL(*unsafe_mapper, RegisterExtension(_))
- .WillOnce(SaveArg<0>(&extension_id2));
- const extensions::Extension* extension =
- LoadExtension(test_data_dir_.AppendASCII("push_messaging"));
- ASSERT_TRUE(extension);
- EXPECT_EQ(extension->id(), extension_id1);
- EXPECT_EQ(extension->id(), extension_id2);
- EXPECT_CALL(*unsafe_mapper, UnregisterExtension(extension->id()));
- UnloadExtension(extension->id());
-}
-
-// Tests that we re-register for invalidations on restart for extensions that
-// are already installed.
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, PRE_Restart) {
- PushMessagingInvalidationHandler* handler =
- static_cast<PushMessagingInvalidationHandler*>(
- GetAPI()->GetMapperForTest());
- EXPECT_TRUE(handler->GetRegisteredExtensionsForTest().empty());
- ASSERT_TRUE(InstallExtension(test_data_dir_.AppendASCII("push_messaging"),
- 1 /* new install */));
-}
-
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, Restart) {
- PushMessagingInvalidationHandler* handler =
- static_cast<PushMessagingInvalidationHandler*>(
- GetAPI()->GetMapperForTest());
- EXPECT_EQ(1U, handler->GetRegisteredExtensionsForTest().size());
-}
-
-// Test that GetChannelId fails if no user is signed in.
-IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, GetChannelId) {
- ResultCatcher catcher;
- catcher.RestrictToBrowserContext(profile());
-
- const extensions::Extension* extension =
- LoadExtension(test_data_dir_.AppendASCII("push_messaging"));
- ASSERT_TRUE(extension);
- ui_test_utils::NavigateToURL(
- browser(), extension->GetResourceURL("get_channel_id.html"));
-
- EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698