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

Side by Side Diff: chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc

Issue 327243003: Introduce ProfileInvalidationProvider wrapper for InvalidationService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix clang compilation. Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/extensions/api/push_messaging/push_messaging_api.h" 5 #include "chrome/browser/extensions/api/push_messaging/push_messaging_api.h"
6 6
7 #include "apps/launcher.h" 7 #include "apps/launcher.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati on_handler.h" 9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati on_handler.h"
10 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati on_mapper.h" 10 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati on_mapper.h"
11 #include "chrome/browser/extensions/extension_apitest.h" 11 #include "chrome/browser/extensions/extension_apitest.h"
12 #include "chrome/browser/extensions/extension_test_message_listener.h" 12 #include "chrome/browser/extensions/extension_test_message_listener.h"
13 #include "chrome/browser/invalidation/fake_invalidation_service.h" 13 #include "chrome/browser/invalidation/fake_invalidation_service.h"
14 #include "chrome/browser/invalidation/invalidation_service_factory.h" 14 #include "chrome/browser/invalidation/profile_invalidation_provider.h"
15 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h"
15 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/ui/browser.h" 17 #include "chrome/browser/ui/browser.h"
17 #include "chrome/common/chrome_switches.h" 18 #include "chrome/common/chrome_switches.h"
18 #include "chrome/test/base/ui_test_utils.h" 19 #include "chrome/test/base/ui_test_utils.h"
19 #include "components/invalidation/fake_invalidator.h" 20 #include "components/invalidation/fake_invalidator.h"
20 #include "components/invalidation/invalidation_service.h" 21 #include "components/invalidation/invalidation_service.h"
22 #include "components/keyed_service/core/keyed_service.h"
21 #include "google/cacheinvalidation/types.pb.h" 23 #include "google/cacheinvalidation/types.pb.h"
22 #include "sync/internal_api/public/base/invalidation.h" 24 #include "sync/internal_api/public/base/invalidation.h"
23 #include "testing/gmock/include/gmock/gmock.h" 25 #include "testing/gmock/include/gmock/gmock.h"
24 26
25 using ::testing::SaveArg; 27 using ::testing::SaveArg;
26 using ::testing::StrictMock; 28 using ::testing::StrictMock;
27 using ::testing::_; 29 using ::testing::_;
28 30
29 using invalidation::InvalidationServiceFactory; 31 namespace content {
32 class BrowserContext;
33 }
30 34
31 namespace extensions { 35 namespace extensions {
32 36
33 namespace { 37 namespace {
34 38
35 invalidation::ObjectId ExtensionAndSubchannelToObjectId( 39 invalidation::ObjectId ExtensionAndSubchannelToObjectId(
36 const std::string& extension_id, int subchannel_id) { 40 const std::string& extension_id, int subchannel_id) {
37 return invalidation::ObjectId( 41 return invalidation::ObjectId(
38 ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING, 42 ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING,
39 base::StringPrintf("U/%s/%d", extension_id.c_str(), subchannel_id)); 43 base::StringPrintf("U/%s/%d", extension_id.c_str(), subchannel_id));
40 } 44 }
41 45
46 KeyedService* BuildFakeProfileInvalidationProvider(
47 content::BrowserContext* context) {
48 return new invalidation::ProfileInvalidationProvider(
49 scoped_ptr<invalidation::InvalidationService>(
50 new invalidation::FakeInvalidationService));
51 }
52
42 class MockInvalidationMapper : public PushMessagingInvalidationMapper { 53 class MockInvalidationMapper : public PushMessagingInvalidationMapper {
43 public: 54 public:
44 MockInvalidationMapper(); 55 MockInvalidationMapper();
45 ~MockInvalidationMapper(); 56 ~MockInvalidationMapper();
46 57
47 MOCK_METHOD1(SuppressInitialInvalidationsForExtension, 58 MOCK_METHOD1(SuppressInitialInvalidationsForExtension,
48 void(const std::string&)); 59 void(const std::string&));
49 MOCK_METHOD1(RegisterExtension, void(const std::string&)); 60 MOCK_METHOD1(RegisterExtension, void(const std::string&));
50 MOCK_METHOD1(UnregisterExtension, void(const std::string&)); 61 MOCK_METHOD1(UnregisterExtension, void(const std::string&));
51 }; 62 };
52 63
53 MockInvalidationMapper::MockInvalidationMapper() {} 64 MockInvalidationMapper::MockInvalidationMapper() {}
54 MockInvalidationMapper::~MockInvalidationMapper() {} 65 MockInvalidationMapper::~MockInvalidationMapper() {}
55 66
56 } // namespace 67 } // namespace
57 68
58 class PushMessagingApiTest : public ExtensionApiTest { 69 class PushMessagingApiTest : public ExtensionApiTest {
59 public: 70 public:
60 PushMessagingApiTest() 71 PushMessagingApiTest()
61 : fake_invalidation_service_(NULL) { 72 : fake_invalidation_service_(NULL) {
62 } 73 }
63 74
64 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 75 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
65 ExtensionApiTest::SetUpCommandLine(command_line); 76 ExtensionApiTest::SetUpCommandLine(command_line);
66 } 77 }
67 78
68 virtual void SetUp() OVERRIDE { 79 virtual void SetUp() OVERRIDE {
69 InvalidationServiceFactory::GetInstance()->RegisterTestingFactory( 80 invalidation::ProfileInvalidationProviderFactory::GetInstance()->
70 invalidation::FakeInvalidationService::Build); 81 RegisterTestingFactory(BuildFakeProfileInvalidationProvider);
71 ExtensionApiTest::SetUp(); 82 ExtensionApiTest::SetUp();
72 } 83 }
73 84
74 virtual void SetUpOnMainThread() OVERRIDE { 85 virtual void SetUpOnMainThread() OVERRIDE {
75 ExtensionApiTest::SetUpOnMainThread(); 86 ExtensionApiTest::SetUpOnMainThread();
76 fake_invalidation_service_ = 87 fake_invalidation_service_ =
77 static_cast<invalidation::FakeInvalidationService*>( 88 static_cast<invalidation::FakeInvalidationService*>(
78 InvalidationServiceFactory::GetInstance()->GetForProfile( 89 static_cast<invalidation::ProfileInvalidationProvider*>(
79 profile())); 90 invalidation::ProfileInvalidationProviderFactory::
91 GetInstance()->GetForProfile(profile()))->
92 GetInvalidationService());
80 } 93 }
81 94
82 void EmitInvalidation( 95 void EmitInvalidation(
83 const invalidation::ObjectId& object_id, 96 const invalidation::ObjectId& object_id,
84 int64 version, 97 int64 version,
85 const std::string& payload) { 98 const std::string& payload) {
86 fake_invalidation_service_->EmitInvalidationForTest( 99 fake_invalidation_service_->EmitInvalidationForTest(
87 syncer::Invalidation::Init(object_id, version, payload)); 100 syncer::Invalidation::Init(object_id, version, payload));
88 } 101 }
89 102
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 const extensions::Extension* extension = 201 const extensions::Extension* extension =
189 LoadExtension(test_data_dir_.AppendASCII("push_messaging")); 202 LoadExtension(test_data_dir_.AppendASCII("push_messaging"));
190 ASSERT_TRUE(extension); 203 ASSERT_TRUE(extension);
191 ui_test_utils::NavigateToURL( 204 ui_test_utils::NavigateToURL(
192 browser(), extension->GetResourceURL("get_channel_id.html")); 205 browser(), extension->GetResourceURL("get_channel_id.html"));
193 206
194 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 207 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
195 } 208 }
196 209
197 } // namespace extensions 210 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698