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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_registration_utility_unittest.cc

Issue 335833003: Rename "managed (mode|user)" to "supervised user" (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments (+ a few other cleanups) 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "base/prefs/scoped_user_pref_update.h" 7 #include "base/prefs/scoped_user_pref_update.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/threading/sequenced_worker_pool.h" 10 #include "base/threading/sequenced_worker_pool.h"
11 #include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" 11 #include "chrome/browser/supervised_user/supervised_user_refresh_token_fetcher.h "
12 #include "chrome/browser/managed_mode/managed_user_registration_utility.h" 12 #include "chrome/browser/supervised_user/supervised_user_registration_utility.h"
13 #include "chrome/browser/managed_mode/managed_user_shared_settings_service.h" 13 #include "chrome/browser/supervised_user/supervised_user_shared_settings_service .h"
14 #include "chrome/browser/managed_mode/managed_user_shared_settings_service_facto ry.h" 14 #include "chrome/browser/supervised_user/supervised_user_shared_settings_service _factory.h"
15 #include "chrome/browser/managed_mode/managed_user_sync_service.h" 15 #include "chrome/browser/supervised_user/supervised_user_sync_service.h"
16 #include "chrome/browser/managed_mode/managed_user_sync_service_factory.h" 16 #include "chrome/browser/supervised_user/supervised_user_sync_service_factory.h"
17 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
18 #include "chrome/test/base/testing_pref_service_syncable.h" 18 #include "chrome/test/base/testing_pref_service_syncable.h"
19 #include "chrome/test/base/testing_profile.h" 19 #include "chrome/test/base/testing_profile.h"
20 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
21 #include "google_apis/gaia/google_service_auth_error.h" 21 #include "google_apis/gaia/google_service_auth_error.h"
22 #include "sync/api/attachments/attachment_id.h" 22 #include "sync/api/attachments/attachment_id.h"
23 #include "sync/api/attachments/attachment_service_proxy_for_test.h" 23 #include "sync/api/attachments/attachment_service_proxy_for_test.h"
24 #include "sync/api/sync_change.h" 24 #include "sync/api/sync_change.h"
25 #include "sync/api/sync_error_factory_mock.h" 25 #include "sync/api/sync_error_factory_mock.h"
26 #include "sync/protocol/sync.pb.h" 26 #include "sync/protocol/sync.pb.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 SyncChangeList change_list_; 62 SyncChangeList change_list_;
63 }; 63 };
64 64
65 SyncError MockChangeProcessor::ProcessSyncChanges( 65 SyncError MockChangeProcessor::ProcessSyncChanges(
66 const tracked_objects::Location& from_here, 66 const tracked_objects::Location& from_here,
67 const SyncChangeList& change_list) { 67 const SyncChangeList& change_list) {
68 change_list_ = change_list; 68 change_list_ = change_list;
69 return SyncError(); 69 return SyncError();
70 } 70 }
71 71
72 class MockManagedUserRefreshTokenFetcher 72 class MockSupervisedUserRefreshTokenFetcher
73 : public ManagedUserRefreshTokenFetcher { 73 : public SupervisedUserRefreshTokenFetcher {
74 public: 74 public:
75 MockManagedUserRefreshTokenFetcher() {} 75 MockSupervisedUserRefreshTokenFetcher() {}
76 virtual ~MockManagedUserRefreshTokenFetcher() {} 76 virtual ~MockSupervisedUserRefreshTokenFetcher() {}
77 77
78 // ManagedUserRefreshTokenFetcher implementation: 78 // SupervisedUserRefreshTokenFetcher implementation:
79 virtual void Start(const std::string& managed_user_id, 79 virtual void Start(const std::string& supervised_user_id,
80 const std::string& device_name, 80 const std::string& device_name,
81 const TokenCallback& callback) OVERRIDE { 81 const TokenCallback& callback) OVERRIDE {
82 GoogleServiceAuthError error(GoogleServiceAuthError::NONE); 82 GoogleServiceAuthError error(GoogleServiceAuthError::NONE);
83 callback.Run(error, kSupervisedUserToken); 83 callback.Run(error, kSupervisedUserToken);
84 } 84 }
85 }; 85 };
86 86
87 } // namespace 87 } // namespace
88 88
89 class ManagedUserRegistrationUtilityTest : public ::testing::Test { 89 class SupervisedUserRegistrationUtilityTest : public ::testing::Test {
90 public: 90 public:
91 ManagedUserRegistrationUtilityTest(); 91 SupervisedUserRegistrationUtilityTest();
92 virtual ~ManagedUserRegistrationUtilityTest(); 92 virtual ~SupervisedUserRegistrationUtilityTest();
93 93
94 virtual void TearDown() OVERRIDE; 94 virtual void TearDown() OVERRIDE;
95 95
96 protected: 96 protected:
97 scoped_ptr<SyncChangeProcessor> CreateChangeProcessor(); 97 scoped_ptr<SyncChangeProcessor> CreateChangeProcessor();
98 scoped_ptr<SyncErrorFactory> CreateErrorFactory(); 98 scoped_ptr<SyncErrorFactory> CreateErrorFactory();
99 SyncData CreateRemoteData(const std::string& id, const std::string& name); 99 SyncData CreateRemoteData(const std::string& id, const std::string& name);
100 100
101 SyncMergeResult StartInitialSync(); 101 SyncMergeResult StartInitialSync();
102 102
103 ManagedUserRegistrationUtility::RegistrationCallback 103 SupervisedUserRegistrationUtility::RegistrationCallback
104 GetRegistrationCallback(); 104 GetRegistrationCallback();
105 105
106 ManagedUserRegistrationUtility* GetRegistrationUtility(); 106 SupervisedUserRegistrationUtility* GetRegistrationUtility();
107 107
108 void Acknowledge(); 108 void Acknowledge();
109 109
110 PrefService* prefs() { return profile_.GetTestingPrefService(); } 110 PrefService* prefs() { return profile_.GetTestingPrefService(); }
111 ManagedUserSyncService* service() { return service_; } 111 SupervisedUserSyncService* service() { return service_; }
112 ManagedUserSharedSettingsService* shared_settings_service() { 112 SupervisedUserSharedSettingsService* shared_settings_service() {
113 return shared_settings_service_; 113 return shared_settings_service_;
114 } 114 }
115 MockChangeProcessor* change_processor() { return change_processor_; } 115 MockChangeProcessor* change_processor() { return change_processor_; }
116 116
117 bool received_callback() const { return received_callback_; } 117 bool received_callback() const { return received_callback_; }
118 const GoogleServiceAuthError& error() const { return error_; } 118 const GoogleServiceAuthError& error() const { return error_; }
119 const std::string& token() const { return token_; } 119 const std::string& token() const { return token_; }
120 120
121 private: 121 private:
122 void OnManagedUserRegistered(const GoogleServiceAuthError& error, 122 void OnSupervisedUserRegistered(const GoogleServiceAuthError& error,
123 const std::string& token); 123 const std::string& token);
124 124
125 base::MessageLoop message_loop_; 125 base::MessageLoop message_loop_;
126 base::RunLoop run_loop_; 126 base::RunLoop run_loop_;
127 TestingProfile profile_; 127 TestingProfile profile_;
128 ManagedUserSyncService* service_; 128 SupervisedUserSyncService* service_;
129 ManagedUserSharedSettingsService* shared_settings_service_; 129 SupervisedUserSharedSettingsService* shared_settings_service_;
130 scoped_ptr<ManagedUserRegistrationUtility> registration_utility_; 130 scoped_ptr<SupervisedUserRegistrationUtility> registration_utility_;
131 131
132 // Owned by the ManagedUserSyncService. 132 // Owned by the SupervisedUserSyncService.
133 MockChangeProcessor* change_processor_; 133 MockChangeProcessor* change_processor_;
134 134
135 // A unique ID for creating "remote" Sync data. 135 // A unique ID for creating "remote" Sync data.
136 int64 sync_data_id_; 136 int64 sync_data_id_;
137 137
138 // Whether OnManagedUserRegistered has been called. 138 // Whether OnSupervisedUserRegistered has been called.
139 bool received_callback_; 139 bool received_callback_;
140 140
141 // Hold the registration result (either an error, or a token). 141 // Hold the registration result (either an error, or a token).
142 GoogleServiceAuthError error_; 142 GoogleServiceAuthError error_;
143 std::string token_; 143 std::string token_;
144 144
145 base::WeakPtrFactory<ManagedUserRegistrationUtilityTest> weak_ptr_factory_; 145 base::WeakPtrFactory<SupervisedUserRegistrationUtilityTest> weak_ptr_factory_;
146 }; 146 };
147 147
148 ManagedUserRegistrationUtilityTest::ManagedUserRegistrationUtilityTest() 148 SupervisedUserRegistrationUtilityTest::SupervisedUserRegistrationUtilityTest()
149 : change_processor_(NULL), 149 : change_processor_(NULL),
150 sync_data_id_(0), 150 sync_data_id_(0),
151 received_callback_(false), 151 received_callback_(false),
152 error_(GoogleServiceAuthError::NUM_STATES), 152 error_(GoogleServiceAuthError::NUM_STATES),
153 weak_ptr_factory_(this) { 153 weak_ptr_factory_(this) {
154 service_ = ManagedUserSyncServiceFactory::GetForProfile(&profile_); 154 service_ = SupervisedUserSyncServiceFactory::GetForProfile(&profile_);
155 shared_settings_service_ = 155 shared_settings_service_ =
156 ManagedUserSharedSettingsServiceFactory::GetForBrowserContext(&profile_); 156 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
157 &profile_);
157 } 158 }
158 159
159 ManagedUserRegistrationUtilityTest::~ManagedUserRegistrationUtilityTest() { 160 SupervisedUserRegistrationUtilityTest::
161 ~SupervisedUserRegistrationUtilityTest() {
160 EXPECT_FALSE(weak_ptr_factory_.HasWeakPtrs()); 162 EXPECT_FALSE(weak_ptr_factory_.HasWeakPtrs());
161 } 163 }
162 164
163 void ManagedUserRegistrationUtilityTest::TearDown() { 165 void SupervisedUserRegistrationUtilityTest::TearDown() {
164 content::BrowserThread::GetBlockingPool()->FlushForTesting(); 166 content::BrowserThread::GetBlockingPool()->FlushForTesting();
165 base::RunLoop().RunUntilIdle(); 167 base::RunLoop().RunUntilIdle();
166 } 168 }
167 169
168 scoped_ptr<SyncChangeProcessor> 170 scoped_ptr<SyncChangeProcessor>
169 ManagedUserRegistrationUtilityTest::CreateChangeProcessor() { 171 SupervisedUserRegistrationUtilityTest::CreateChangeProcessor() {
170 EXPECT_FALSE(change_processor_); 172 EXPECT_FALSE(change_processor_);
171 change_processor_ = new MockChangeProcessor(); 173 change_processor_ = new MockChangeProcessor();
172 return scoped_ptr<SyncChangeProcessor>(change_processor_); 174 return scoped_ptr<SyncChangeProcessor>(change_processor_);
173 } 175 }
174 176
175 scoped_ptr<SyncErrorFactory> 177 scoped_ptr<SyncErrorFactory>
176 ManagedUserRegistrationUtilityTest::CreateErrorFactory() { 178 SupervisedUserRegistrationUtilityTest::CreateErrorFactory() {
177 return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock()); 179 return scoped_ptr<SyncErrorFactory>(new syncer::SyncErrorFactoryMock());
178 } 180 }
179 181
180 SyncMergeResult ManagedUserRegistrationUtilityTest::StartInitialSync() { 182 SyncMergeResult SupervisedUserRegistrationUtilityTest::StartInitialSync() {
181 SyncDataList initial_sync_data; 183 SyncDataList initial_sync_data;
182 SyncMergeResult result = 184 SyncMergeResult result =
183 service()->MergeDataAndStartSyncing(SUPERVISED_USERS, 185 service()->MergeDataAndStartSyncing(SUPERVISED_USERS,
184 initial_sync_data, 186 initial_sync_data,
185 CreateChangeProcessor(), 187 CreateChangeProcessor(),
186 CreateErrorFactory()); 188 CreateErrorFactory());
187 EXPECT_FALSE(result.error().IsSet()); 189 EXPECT_FALSE(result.error().IsSet());
188 return result; 190 return result;
189 } 191 }
190 192
191 ManagedUserRegistrationUtility::RegistrationCallback 193 SupervisedUserRegistrationUtility::RegistrationCallback
192 ManagedUserRegistrationUtilityTest::GetRegistrationCallback() { 194 SupervisedUserRegistrationUtilityTest::GetRegistrationCallback() {
193 return base::Bind( 195 return base::Bind(
194 &ManagedUserRegistrationUtilityTest::OnManagedUserRegistered, 196 &SupervisedUserRegistrationUtilityTest::OnSupervisedUserRegistered,
195 weak_ptr_factory_.GetWeakPtr()); 197 weak_ptr_factory_.GetWeakPtr());
196 } 198 }
197 199
198 ManagedUserRegistrationUtility* 200 SupervisedUserRegistrationUtility*
199 ManagedUserRegistrationUtilityTest::GetRegistrationUtility() { 201 SupervisedUserRegistrationUtilityTest::GetRegistrationUtility() {
200 if (registration_utility_.get()) 202 if (registration_utility_.get())
201 return registration_utility_.get(); 203 return registration_utility_.get();
202 204
203 scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher( 205 scoped_ptr<SupervisedUserRefreshTokenFetcher> token_fetcher(
204 new MockManagedUserRefreshTokenFetcher); 206 new MockSupervisedUserRefreshTokenFetcher);
205 registration_utility_.reset( 207 registration_utility_.reset(
206 ManagedUserRegistrationUtility::CreateImpl(prefs(), 208 SupervisedUserRegistrationUtility::CreateImpl(prefs(),
207 token_fetcher.Pass(), 209 token_fetcher.Pass(),
208 service(), 210 service(),
209 shared_settings_service())); 211 shared_settings_service()));
210 return registration_utility_.get(); 212 return registration_utility_.get();
211 } 213 }
212 214
213 void ManagedUserRegistrationUtilityTest::Acknowledge() { 215 void SupervisedUserRegistrationUtilityTest::Acknowledge() {
214 SyncChangeList new_changes; 216 SyncChangeList new_changes;
215 const SyncChangeList& changes = change_processor()->changes(); 217 const SyncChangeList& changes = change_processor()->changes();
216 for (SyncChangeList::const_iterator it = changes.begin(); it != changes.end(); 218 for (SyncChangeList::const_iterator it = changes.begin(); it != changes.end();
217 ++it) { 219 ++it) {
218 EXPECT_EQ(SyncChange::ACTION_ADD, it->change_type()); 220 EXPECT_EQ(SyncChange::ACTION_ADD, it->change_type());
219 ::sync_pb::EntitySpecifics specifics = it->sync_data().GetSpecifics(); 221 ::sync_pb::EntitySpecifics specifics = it->sync_data().GetSpecifics();
220 EXPECT_FALSE(specifics.managed_user().acknowledged()); 222 EXPECT_FALSE(specifics.managed_user().acknowledged());
221 specifics.mutable_managed_user()->set_acknowledged(true); 223 specifics.mutable_managed_user()->set_acknowledged(true);
222 new_changes.push_back( 224 new_changes.push_back(
223 SyncChange(FROM_HERE, 225 SyncChange(FROM_HERE,
224 SyncChange::ACTION_UPDATE, 226 SyncChange::ACTION_UPDATE,
225 SyncData::CreateRemoteData( 227 SyncData::CreateRemoteData(
226 ++sync_data_id_, 228 ++sync_data_id_,
227 specifics, 229 specifics,
228 base::Time(), 230 base::Time(),
229 syncer::AttachmentIdList(), 231 syncer::AttachmentIdList(),
230 syncer::AttachmentServiceProxyForTest::Create()))); 232 syncer::AttachmentServiceProxyForTest::Create())));
231 } 233 }
232 service()->ProcessSyncChanges(FROM_HERE, new_changes); 234 service()->ProcessSyncChanges(FROM_HERE, new_changes);
233 235
234 run_loop_.Run(); 236 run_loop_.Run();
235 } 237 }
236 238
237 void ManagedUserRegistrationUtilityTest::OnManagedUserRegistered( 239 void SupervisedUserRegistrationUtilityTest::OnSupervisedUserRegistered(
238 const GoogleServiceAuthError& error, 240 const GoogleServiceAuthError& error,
239 const std::string& token) { 241 const std::string& token) {
240 received_callback_ = true; 242 received_callback_ = true;
241 error_ = error; 243 error_ = error;
242 token_ = token; 244 token_ = token;
243 run_loop_.Quit(); 245 run_loop_.Quit();
244 } 246 }
245 247
246 TEST_F(ManagedUserRegistrationUtilityTest, Register) { 248 TEST_F(SupervisedUserRegistrationUtilityTest, Register) {
247 StartInitialSync(); 249 StartInitialSync();
248 GetRegistrationUtility()->Register( 250 GetRegistrationUtility()->Register(
249 ManagedUserRegistrationUtility::GenerateNewManagedUserId(), 251 SupervisedUserRegistrationUtility::GenerateNewSupervisedUserId(),
250 ManagedUserRegistrationInfo(base::ASCIIToUTF16("Dug"), 0), 252 SupervisedUserRegistrationInfo(base::ASCIIToUTF16("Dug"), 0),
251 GetRegistrationCallback()); 253 GetRegistrationCallback());
252 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 254 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
253 Acknowledge(); 255 Acknowledge();
254 256
255 EXPECT_TRUE(received_callback()); 257 EXPECT_TRUE(received_callback());
256 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 258 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
257 EXPECT_FALSE(token().empty()); 259 EXPECT_FALSE(token().empty());
258 } 260 }
259 261
260 TEST_F(ManagedUserRegistrationUtilityTest, RegisterBeforeInitialSync) { 262 TEST_F(SupervisedUserRegistrationUtilityTest, RegisterBeforeInitialSync) {
261 GetRegistrationUtility()->Register( 263 GetRegistrationUtility()->Register(
262 ManagedUserRegistrationUtility::GenerateNewManagedUserId(), 264 SupervisedUserRegistrationUtility::GenerateNewSupervisedUserId(),
263 ManagedUserRegistrationInfo(base::ASCIIToUTF16("Nemo"), 5), 265 SupervisedUserRegistrationInfo(base::ASCIIToUTF16("Nemo"), 5),
264 GetRegistrationCallback()); 266 GetRegistrationCallback());
265 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 267 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
266 StartInitialSync(); 268 StartInitialSync();
267 Acknowledge(); 269 Acknowledge();
268 270
269 EXPECT_TRUE(received_callback()); 271 EXPECT_TRUE(received_callback());
270 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 272 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
271 EXPECT_FALSE(token().empty()); 273 EXPECT_FALSE(token().empty());
272 } 274 }
273 275
274 TEST_F(ManagedUserRegistrationUtilityTest, SyncServiceShutdownBeforeRegFinish) { 276 TEST_F(SupervisedUserRegistrationUtilityTest,
277 SyncServiceShutdownBeforeRegFinish) {
275 StartInitialSync(); 278 StartInitialSync();
276 GetRegistrationUtility()->Register( 279 GetRegistrationUtility()->Register(
277 ManagedUserRegistrationUtility::GenerateNewManagedUserId(), 280 SupervisedUserRegistrationUtility::GenerateNewSupervisedUserId(),
278 ManagedUserRegistrationInfo(base::ASCIIToUTF16("Remy"), 12), 281 SupervisedUserRegistrationInfo(base::ASCIIToUTF16("Remy"), 12),
279 GetRegistrationCallback()); 282 GetRegistrationCallback());
280 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 283 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
281 service()->Shutdown(); 284 service()->Shutdown();
282 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 285 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
283 EXPECT_TRUE(received_callback()); 286 EXPECT_TRUE(received_callback());
284 EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state()); 287 EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state());
285 EXPECT_EQ(std::string(), token()); 288 EXPECT_EQ(std::string(), token());
286 } 289 }
287 290
288 TEST_F(ManagedUserRegistrationUtilityTest, StopSyncingBeforeRegFinish) { 291 TEST_F(SupervisedUserRegistrationUtilityTest, StopSyncingBeforeRegFinish) {
289 StartInitialSync(); 292 StartInitialSync();
290 GetRegistrationUtility()->Register( 293 GetRegistrationUtility()->Register(
291 ManagedUserRegistrationUtility::GenerateNewManagedUserId(), 294 SupervisedUserRegistrationUtility::GenerateNewSupervisedUserId(),
292 ManagedUserRegistrationInfo(base::ASCIIToUTF16("Mike"), 17), 295 SupervisedUserRegistrationInfo(base::ASCIIToUTF16("Mike"), 17),
293 GetRegistrationCallback()); 296 GetRegistrationCallback());
294 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 297 EXPECT_EQ(1u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
295 service()->StopSyncing(SUPERVISED_USERS); 298 service()->StopSyncing(SUPERVISED_USERS);
296 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size()); 299 EXPECT_EQ(0u, prefs()->GetDictionary(prefs::kSupervisedUsers)->size());
297 EXPECT_TRUE(received_callback()); 300 EXPECT_TRUE(received_callback());
298 EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state()); 301 EXPECT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, error().state());
299 EXPECT_EQ(std::string(), token()); 302 EXPECT_EQ(std::string(), token());
300 } 303 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698