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

Side by Side Diff: components/cryptauth/cryptauth_gcm_manager_impl_unittest.cc

Issue 2502343003: Moved //components/proximity_auth/cryptauth to //components/cryptauth. (Closed)
Patch Set: Fixed proto #includes. Created 4 years, 1 month 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/proximity_auth/cryptauth/cryptauth_gcm_manager_impl.h" 5 #include "components/cryptauth/cryptauth_gcm_manager_impl.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "components/cryptauth/pref_names.h"
8 #include "components/gcm_driver/fake_gcm_driver.h" 9 #include "components/gcm_driver/fake_gcm_driver.h"
9 #include "components/gcm_driver/gcm_client.h" 10 #include "components/gcm_driver/gcm_client.h"
10 #include "components/prefs/testing_pref_service.h" 11 #include "components/prefs/testing_pref_service.h"
11 #include "components/proximity_auth/cryptauth/pref_names.h"
12 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 using ::testing::_; 15 using ::testing::_;
16 using ::testing::SaveArg; 16 using ::testing::SaveArg;
17 17
18 namespace proximity_auth { 18 namespace cryptauth {
19 19
20 namespace { 20 namespace {
21 21
22 const char kCryptAuthGCMAppId[] = "com.google.chrome.cryptauth"; 22 const char kCryptAuthGCMAppId[] = "com.google.chrome.cryptauth";
23 const char kCryptAuthGCMSenderId[] = "381449029288"; 23 const char kCryptAuthGCMSenderId[] = "381449029288";
24 const char kExistingGCMRegistrationId[] = "cirrus"; 24 const char kExistingGCMRegistrationId[] = "cirrus";
25 const char kNewGCMRegistrationId[] = "stratus"; 25 const char kNewGCMRegistrationId[] = "stratus";
26 const char kCryptAuthMessageCollapseKey[] = 26 const char kCryptAuthMessageCollapseKey[] =
27 "collapse_cryptauth_sync_DEVICES_SYNC"; 27 "collapse_cryptauth_sync_DEVICES_SYNC";
28 28
(...skipping 11 matching lines...) Expand all
40 const std::vector<std::string>& sender_ids)); 40 const std::vector<std::string>& sender_ids));
41 41
42 using gcm::GCMDriver::RegisterFinished; 42 using gcm::GCMDriver::RegisterFinished;
43 43
44 private: 44 private:
45 DISALLOW_COPY_AND_ASSIGN(MockGCMDriver); 45 DISALLOW_COPY_AND_ASSIGN(MockGCMDriver);
46 }; 46 };
47 47
48 } // namespace 48 } // namespace
49 49
50 class ProximityAuthCryptAuthGCMManagerImplTest 50 class CryptAuthGCMManagerImplTest
51 : public testing::Test, 51 : public testing::Test,
52 public CryptAuthGCMManager::Observer { 52 public CryptAuthGCMManager::Observer {
53 protected: 53 protected:
54 ProximityAuthCryptAuthGCMManagerImplTest() 54 CryptAuthGCMManagerImplTest()
55 : gcm_manager_(&gcm_driver_, &pref_service_) {} 55 : gcm_manager_(&gcm_driver_, &pref_service_) {}
56 56
57 // testing::Test: 57 // testing::Test:
58 void SetUp() override { 58 void SetUp() override {
59 CryptAuthGCMManager::RegisterPrefs(pref_service_.registry()); 59 CryptAuthGCMManager::RegisterPrefs(pref_service_.registry());
60 gcm_manager_.AddObserver(this); 60 gcm_manager_.AddObserver(this);
61 EXPECT_CALL(gcm_driver_, AddAppHandler(kCryptAuthGCMAppId, &gcm_manager_)); 61 EXPECT_CALL(gcm_driver_, AddAppHandler(kCryptAuthGCMAppId, &gcm_manager_));
62 gcm_manager_.StartListening(); 62 gcm_manager_.StartListening();
63 } 63 }
64 64
(...skipping 26 matching lines...) Expand all
91 MOCK_METHOD1(OnGCMRegistrationResultProxy, void(bool)); 91 MOCK_METHOD1(OnGCMRegistrationResultProxy, void(bool));
92 MOCK_METHOD0(OnReenrollMessageProxy, void()); 92 MOCK_METHOD0(OnReenrollMessageProxy, void());
93 MOCK_METHOD0(OnResyncMessageProxy, void()); 93 MOCK_METHOD0(OnResyncMessageProxy, void());
94 94
95 testing::StrictMock<MockGCMDriver> gcm_driver_; 95 testing::StrictMock<MockGCMDriver> gcm_driver_;
96 96
97 TestingPrefServiceSimple pref_service_; 97 TestingPrefServiceSimple pref_service_;
98 98
99 CryptAuthGCMManagerImpl gcm_manager_; 99 CryptAuthGCMManagerImpl gcm_manager_;
100 100
101 DISALLOW_COPY_AND_ASSIGN(ProximityAuthCryptAuthGCMManagerImplTest); 101 DISALLOW_COPY_AND_ASSIGN(CryptAuthGCMManagerImplTest);
102 }; 102 };
103 103
104 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, RegisterPrefs) { 104 TEST_F(CryptAuthGCMManagerImplTest, RegisterPrefs) {
105 TestingPrefServiceSimple pref_service; 105 TestingPrefServiceSimple pref_service;
106 CryptAuthGCMManager::RegisterPrefs(pref_service.registry()); 106 CryptAuthGCMManager::RegisterPrefs(pref_service.registry());
107 EXPECT_TRUE(pref_service.FindPreference(prefs::kCryptAuthGCMRegistrationId)); 107 EXPECT_TRUE(pref_service.FindPreference(prefs::kCryptAuthGCMRegistrationId));
108 } 108 }
109 109
110 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, RegistrationSucceeds) { 110 TEST_F(CryptAuthGCMManagerImplTest, RegistrationSucceeds) {
111 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId()); 111 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId());
112 RegisterWithGCM(gcm::GCMClient::SUCCESS); 112 RegisterWithGCM(gcm::GCMClient::SUCCESS);
113 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId()); 113 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId());
114 } 114 }
115 115
116 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, 116 TEST_F(CryptAuthGCMManagerImplTest,
117 RegistrationSucceedsWithExistingRegistration) { 117 RegistrationSucceedsWithExistingRegistration) {
118 pref_service_.SetString(prefs::kCryptAuthGCMRegistrationId, 118 pref_service_.SetString(prefs::kCryptAuthGCMRegistrationId,
119 kExistingGCMRegistrationId); 119 kExistingGCMRegistrationId);
120 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId()); 120 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId());
121 RegisterWithGCM(gcm::GCMClient::SUCCESS); 121 RegisterWithGCM(gcm::GCMClient::SUCCESS);
122 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId()); 122 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId());
123 EXPECT_EQ(kNewGCMRegistrationId, 123 EXPECT_EQ(kNewGCMRegistrationId,
124 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId)); 124 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId));
125 } 125 }
126 126
127 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, RegisterWithGCMFails) { 127 TEST_F(CryptAuthGCMManagerImplTest, RegisterWithGCMFails) {
128 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId()); 128 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId());
129 RegisterWithGCM(gcm::GCMClient::SERVER_ERROR); 129 RegisterWithGCM(gcm::GCMClient::SERVER_ERROR);
130 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId()); 130 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId());
131 EXPECT_EQ(std::string(), 131 EXPECT_EQ(std::string(),
132 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId)); 132 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId));
133 } 133 }
134 134
135 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, 135 TEST_F(CryptAuthGCMManagerImplTest,
136 RegisterWithGCMFailsWithExistingRegistration) { 136 RegisterWithGCMFailsWithExistingRegistration) {
137 pref_service_.SetString(prefs::kCryptAuthGCMRegistrationId, 137 pref_service_.SetString(prefs::kCryptAuthGCMRegistrationId,
138 kExistingGCMRegistrationId); 138 kExistingGCMRegistrationId);
139 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId()); 139 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId());
140 RegisterWithGCM(gcm::GCMClient::SERVER_ERROR); 140 RegisterWithGCM(gcm::GCMClient::SERVER_ERROR);
141 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId()); 141 EXPECT_EQ(kExistingGCMRegistrationId, gcm_manager_.GetRegistrationId());
142 EXPECT_EQ(kExistingGCMRegistrationId, 142 EXPECT_EQ(kExistingGCMRegistrationId,
143 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId)); 143 pref_service_.GetString(prefs::kCryptAuthGCMRegistrationId));
144 } 144 }
145 145
146 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, 146 TEST_F(CryptAuthGCMManagerImplTest,
147 RegistrationFailsThenSucceeds) { 147 RegistrationFailsThenSucceeds) {
148 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId()); 148 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId());
149 RegisterWithGCM(gcm::GCMClient::NETWORK_ERROR); 149 RegisterWithGCM(gcm::GCMClient::NETWORK_ERROR);
150 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId()); 150 EXPECT_EQ(std::string(), gcm_manager_.GetRegistrationId());
151 RegisterWithGCM(gcm::GCMClient::SUCCESS); 151 RegisterWithGCM(gcm::GCMClient::SUCCESS);
152 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId()); 152 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId());
153 } 153 }
154 154
155 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, ConcurrentRegistrations) { 155 TEST_F(CryptAuthGCMManagerImplTest, ConcurrentRegistrations) {
156 // If multiple RegisterWithGCM() calls are made concurrently, only one 156 // If multiple RegisterWithGCM() calls are made concurrently, only one
157 // registration attempt should actually be made. 157 // registration attempt should actually be made.
158 EXPECT_CALL(gcm_driver_, RegisterImpl(kCryptAuthGCMAppId, _)); 158 EXPECT_CALL(gcm_driver_, RegisterImpl(kCryptAuthGCMAppId, _));
159 gcm_manager_.RegisterWithGCM(); 159 gcm_manager_.RegisterWithGCM();
160 gcm_manager_.RegisterWithGCM(); 160 gcm_manager_.RegisterWithGCM();
161 gcm_manager_.RegisterWithGCM(); 161 gcm_manager_.RegisterWithGCM();
162 162
163 EXPECT_CALL(*this, OnGCMRegistrationResultProxy(true)); 163 EXPECT_CALL(*this, OnGCMRegistrationResultProxy(true));
164 gcm_driver_.RegisterFinished(kCryptAuthGCMAppId, kNewGCMRegistrationId, 164 gcm_driver_.RegisterFinished(kCryptAuthGCMAppId, kNewGCMRegistrationId,
165 gcm::GCMClient::SUCCESS); 165 gcm::GCMClient::SUCCESS);
166 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId()); 166 EXPECT_EQ(kNewGCMRegistrationId, gcm_manager_.GetRegistrationId());
167 } 167 }
168 168
169 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, ReenrollmentMessagesReceived) { 169 TEST_F(CryptAuthGCMManagerImplTest, ReenrollmentMessagesReceived) {
170 EXPECT_CALL(*this, OnReenrollMessageProxy()).Times(2); 170 EXPECT_CALL(*this, OnReenrollMessageProxy()).Times(2);
171 171
172 gcm::IncomingMessage message; 172 gcm::IncomingMessage message;
173 message.data["registrationTickleType"] = "1"; // FORCE_ENROLLMENT 173 message.data["registrationTickleType"] = "1"; // FORCE_ENROLLMENT
174 message.collapse_key = kCryptAuthMessageCollapseKey; 174 message.collapse_key = kCryptAuthMessageCollapseKey;
175 message.sender_id = kCryptAuthGCMSenderId; 175 message.sender_id = kCryptAuthGCMSenderId;
176 176
177 gcm::GCMAppHandler* gcm_app_handler = 177 gcm::GCMAppHandler* gcm_app_handler =
178 static_cast<gcm::GCMAppHandler*>(&gcm_manager_); 178 static_cast<gcm::GCMAppHandler*>(&gcm_manager_);
179 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message); 179 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message);
180 message.data["registrationTickleType"] = "2"; // UPDATE_ENROLLMENT 180 message.data["registrationTickleType"] = "2"; // UPDATE_ENROLLMENT
181 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message); 181 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message);
182 } 182 }
183 183
184 TEST_F(ProximityAuthCryptAuthGCMManagerImplTest, ResyncMessagesReceived) { 184 TEST_F(CryptAuthGCMManagerImplTest, ResyncMessagesReceived) {
185 EXPECT_CALL(*this, OnResyncMessageProxy()).Times(2); 185 EXPECT_CALL(*this, OnResyncMessageProxy()).Times(2);
186 186
187 gcm::IncomingMessage message; 187 gcm::IncomingMessage message;
188 message.data["registrationTickleType"] = "3"; // DEVICES_SYNC 188 message.data["registrationTickleType"] = "3"; // DEVICES_SYNC
189 message.collapse_key = kCryptAuthMessageCollapseKey; 189 message.collapse_key = kCryptAuthMessageCollapseKey;
190 message.sender_id = kCryptAuthGCMSenderId; 190 message.sender_id = kCryptAuthGCMSenderId;
191 191
192 gcm::GCMAppHandler* gcm_app_handler = 192 gcm::GCMAppHandler* gcm_app_handler =
193 static_cast<gcm::GCMAppHandler*>(&gcm_manager_); 193 static_cast<gcm::GCMAppHandler*>(&gcm_manager_);
194 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message); 194 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message);
195 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message); 195 gcm_app_handler->OnMessage(kCryptAuthGCMAppId, message);
196 } 196 }
197 197
198 } // namespace proximity_auth 198 } // namespace cryptauth
OLDNEW
« no previous file with comments | « components/cryptauth/cryptauth_gcm_manager_impl.cc ('k') | components/cryptauth/fake_cryptauth_gcm_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698