OLD | NEW |
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_invalidati
on_handler.h" | 5 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler_delegate.h" | 9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler_delegate.h" |
10 #include "chrome/browser/invalidation/invalidation_service.h" | 10 #include "chrome/browser/invalidation/invalidation_frontend.h" |
11 #include "google/cacheinvalidation/types.pb.h" | 11 #include "google/cacheinvalidation/types.pb.h" |
12 #include "sync/internal_api/public/base/invalidation_test_util.h" | 12 #include "sync/internal_api/public/base/invalidation_test_util.h" |
13 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
16 using ::testing::_; | 16 using ::testing::_; |
17 using ::testing::NotNull; | 17 using ::testing::NotNull; |
18 using ::testing::SaveArg; | 18 using ::testing::SaveArg; |
19 using ::testing::StrictMock; | 19 using ::testing::StrictMock; |
20 | 20 |
21 namespace extensions { | 21 namespace extensions { |
22 | 22 |
23 namespace { | 23 namespace { |
24 | 24 |
25 class MockInvalidationService : public invalidation::InvalidationService { | 25 class MockInvalidationFrontend : public invalidation::InvalidationFrontend { |
26 public: | 26 public: |
27 MockInvalidationService(); | 27 MockInvalidationFrontend(); |
28 ~MockInvalidationService(); | 28 ~MockInvalidationFrontend(); |
29 MOCK_METHOD1(RegisterInvalidationHandler, | 29 MOCK_METHOD1(RegisterInvalidationHandler, |
30 void(syncer::InvalidationHandler*)); | 30 void(syncer::InvalidationHandler*)); |
31 MOCK_METHOD2(UpdateRegisteredInvalidationIds, | 31 MOCK_METHOD2(UpdateRegisteredInvalidationIds, |
32 void(syncer::InvalidationHandler*, const syncer::ObjectIdSet&)); | 32 void(syncer::InvalidationHandler*, const syncer::ObjectIdSet&)); |
33 MOCK_METHOD1(UnregisterInvalidationHandler, | 33 MOCK_METHOD1(UnregisterInvalidationHandler, |
34 void(syncer::InvalidationHandler*)); | 34 void(syncer::InvalidationHandler*)); |
35 MOCK_METHOD2(AcknowledgeInvalidation, void(const invalidation::ObjectId&, | 35 MOCK_METHOD2(AcknowledgeInvalidation, void(const invalidation::ObjectId&, |
36 const syncer::AckHandle&)); | 36 const syncer::AckHandle&)); |
37 MOCK_CONST_METHOD0(GetInvalidatorState, syncer::InvalidatorState()); | 37 MOCK_CONST_METHOD0(GetInvalidatorState, syncer::InvalidatorState()); |
38 MOCK_CONST_METHOD0(GetInvalidatorClientId, std::string()); | |
39 | 38 |
40 private: | 39 private: |
41 DISALLOW_COPY_AND_ASSIGN(MockInvalidationService); | 40 DISALLOW_COPY_AND_ASSIGN(MockInvalidationFrontend); |
42 }; | 41 }; |
43 | 42 |
44 MockInvalidationService::MockInvalidationService() {} | 43 MockInvalidationFrontend::MockInvalidationFrontend() {} |
45 MockInvalidationService::~MockInvalidationService() {} | 44 MockInvalidationFrontend::~MockInvalidationFrontend() {} |
46 | 45 |
47 class MockInvalidationHandlerDelegate | 46 class MockInvalidationHandlerDelegate |
48 : public PushMessagingInvalidationHandlerDelegate { | 47 : public PushMessagingInvalidationHandlerDelegate { |
49 public: | 48 public: |
50 MockInvalidationHandlerDelegate(); | 49 MockInvalidationHandlerDelegate(); |
51 ~MockInvalidationHandlerDelegate(); | 50 ~MockInvalidationHandlerDelegate(); |
52 MOCK_METHOD3(OnMessage, | 51 MOCK_METHOD3(OnMessage, |
53 void(const std::string&, int, const std::string&)); | 52 void(const std::string&, int, const std::string&)); |
54 | 53 |
55 private: | 54 private: |
(...skipping 12 matching lines...) Expand all Loading... |
68 EXPECT_CALL(service_, RegisterInvalidationHandler(NotNull())) | 67 EXPECT_CALL(service_, RegisterInvalidationHandler(NotNull())) |
69 .WillOnce(SaveArg<0>(&handler)); | 68 .WillOnce(SaveArg<0>(&handler)); |
70 handler_.reset(new PushMessagingInvalidationHandler( | 69 handler_.reset(new PushMessagingInvalidationHandler( |
71 &service_, &delegate_)); | 70 &service_, &delegate_)); |
72 EXPECT_EQ(handler_.get(), handler); | 71 EXPECT_EQ(handler_.get(), handler); |
73 } | 72 } |
74 virtual void TearDown() OVERRIDE { | 73 virtual void TearDown() OVERRIDE { |
75 EXPECT_CALL(service_, UnregisterInvalidationHandler(handler_.get())); | 74 EXPECT_CALL(service_, UnregisterInvalidationHandler(handler_.get())); |
76 handler_.reset(); | 75 handler_.reset(); |
77 } | 76 } |
78 StrictMock<MockInvalidationService> service_; | 77 StrictMock<MockInvalidationFrontend> service_; |
79 StrictMock<MockInvalidationHandlerDelegate> delegate_; | 78 StrictMock<MockInvalidationHandlerDelegate> delegate_; |
80 scoped_ptr<PushMessagingInvalidationHandler> handler_; | 79 scoped_ptr<PushMessagingInvalidationHandler> handler_; |
81 }; | 80 }; |
82 | 81 |
83 TEST_F(PushMessagingInvalidationHandlerTest, RegisterUnregisterExtension) { | 82 TEST_F(PushMessagingInvalidationHandlerTest, RegisterUnregisterExtension) { |
84 syncer::ObjectIdSet expected_ids; | 83 syncer::ObjectIdSet expected_ids; |
85 expected_ids.insert(invalidation::ObjectId( | 84 expected_ids.insert(invalidation::ObjectId( |
86 ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING, | 85 ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING, |
87 "U/cccccccccccccccccccccccccccccccc/0")); | 86 "U/cccccccccccccccccccccccccccccccc/0")); |
88 expected_ids.insert(invalidation::ObjectId( | 87 expected_ids.insert(invalidation::ObjectId( |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 for (syncer::ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); | 154 for (syncer::ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); |
156 ++it) { | 155 ++it) { |
157 EXPECT_CALL(service_, AcknowledgeInvalidation( | 156 EXPECT_CALL(service_, AcknowledgeInvalidation( |
158 *it, syncer::AckHandle::InvalidAckHandle())); | 157 *it, syncer::AckHandle::InvalidAckHandle())); |
159 } | 158 } |
160 handler_->OnIncomingInvalidation( | 159 handler_->OnIncomingInvalidation( |
161 ObjectIdSetToInvalidationMap(ids, "payload")); | 160 ObjectIdSetToInvalidationMap(ids, "payload")); |
162 } | 161 } |
163 | 162 |
164 } // namespace extensions | 163 } // namespace extensions |
OLD | NEW |