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

Side by Side Diff: chrome/browser/chromeos/settings/device_settings_service_unittest.cc

Issue 14200028: Make CrosSettings and DeviceSettingsService non Lazy instances (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix LoginUtilsTest Created 7 years, 8 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/chromeos/settings/device_settings_service.h" 5 #include "chrome/browser/chromeos/settings/device_settings_service.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 is_owner_(true), 51 is_owner_(true),
52 ownership_status_(DeviceSettingsService::OWNERSHIP_UNKNOWN) {} 52 ownership_status_(DeviceSettingsService::OWNERSHIP_UNKNOWN) {}
53 53
54 virtual void SetUp() OVERRIDE { 54 virtual void SetUp() OVERRIDE {
55 device_policy_.payload().mutable_device_policy_refresh_rate()-> 55 device_policy_.payload().mutable_device_policy_refresh_rate()->
56 set_device_policy_refresh_rate(120); 56 set_device_policy_refresh_rate(120);
57 DeviceSettingsTestBase::SetUp(); 57 DeviceSettingsTestBase::SetUp();
58 } 58 }
59 59
60 void CheckPolicy() { 60 void CheckPolicy() {
61 ASSERT_TRUE(device_settings_service_.policy_data()); 61 ASSERT_TRUE(device_settings_service_->policy_data());
62 EXPECT_EQ(device_policy_.policy_data().SerializeAsString(), 62 EXPECT_EQ(device_policy_.policy_data().SerializeAsString(),
63 device_settings_service_.policy_data()->SerializeAsString()); 63 device_settings_service_->policy_data()->SerializeAsString());
64 ASSERT_TRUE(device_settings_service_.device_settings()); 64 ASSERT_TRUE(device_settings_service_->device_settings());
65 EXPECT_EQ(device_policy_.payload().SerializeAsString(), 65 EXPECT_EQ(device_policy_.payload().SerializeAsString(),
66 device_settings_service_.device_settings()->SerializeAsString()); 66 device_settings_service_->device_settings()->SerializeAsString());
67 } 67 }
68 68
69 bool operation_completed_; 69 bool operation_completed_;
70 bool is_owner_; 70 bool is_owner_;
71 DeviceSettingsService::OwnershipStatus ownership_status_; 71 DeviceSettingsService::OwnershipStatus ownership_status_;
72 72
73 private: 73 private:
74 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsServiceTest); 74 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsServiceTest);
75 }; 75 };
76 76
77 TEST_F(DeviceSettingsServiceTest, LoadNoKey) { 77 TEST_F(DeviceSettingsServiceTest, LoadNoKey) {
78 owner_key_util_->Clear(); 78 owner_key_util_->Clear();
79 ReloadDeviceSettings(); 79 ReloadDeviceSettings();
80 80
81 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE, 81 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE,
82 device_settings_service_.status()); 82 device_settings_service_->status());
83 EXPECT_FALSE(device_settings_service_.policy_data()); 83 EXPECT_FALSE(device_settings_service_->policy_data());
84 EXPECT_FALSE(device_settings_service_.device_settings()); 84 EXPECT_FALSE(device_settings_service_->device_settings());
85 } 85 }
86 86
87 TEST_F(DeviceSettingsServiceTest, LoadNoPolicy) { 87 TEST_F(DeviceSettingsServiceTest, LoadNoPolicy) {
88 device_settings_test_helper_.set_policy_blob(std::string()); 88 device_settings_test_helper_.set_policy_blob(std::string());
89 ReloadDeviceSettings(); 89 ReloadDeviceSettings();
90 90
91 EXPECT_EQ(DeviceSettingsService::STORE_NO_POLICY, 91 EXPECT_EQ(DeviceSettingsService::STORE_NO_POLICY,
92 device_settings_service_.status()); 92 device_settings_service_->status());
93 EXPECT_FALSE(device_settings_service_.policy_data()); 93 EXPECT_FALSE(device_settings_service_->policy_data());
94 EXPECT_FALSE(device_settings_service_.device_settings()); 94 EXPECT_FALSE(device_settings_service_->device_settings());
95 } 95 }
96 96
97 TEST_F(DeviceSettingsServiceTest, LoadValidationError) { 97 TEST_F(DeviceSettingsServiceTest, LoadValidationError) {
98 device_policy_.policy().set_policy_data_signature("bad"); 98 device_policy_.policy().set_policy_data_signature("bad");
99 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); 99 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob());
100 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key()); 100 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key());
101 ReloadDeviceSettings(); 101 ReloadDeviceSettings();
102 102
103 EXPECT_EQ(DeviceSettingsService::STORE_VALIDATION_ERROR, 103 EXPECT_EQ(DeviceSettingsService::STORE_VALIDATION_ERROR,
104 device_settings_service_.status()); 104 device_settings_service_->status());
105 EXPECT_FALSE(device_settings_service_.policy_data()); 105 EXPECT_FALSE(device_settings_service_->policy_data());
106 EXPECT_FALSE(device_settings_service_.device_settings()); 106 EXPECT_FALSE(device_settings_service_->device_settings());
107 } 107 }
108 108
109 TEST_F(DeviceSettingsServiceTest, LoadValidationErrorFutureTimestamp) { 109 TEST_F(DeviceSettingsServiceTest, LoadValidationErrorFutureTimestamp) {
110 base::Time timestamp(base::Time::NowFromSystemTime() + 110 base::Time timestamp(base::Time::NowFromSystemTime() +
111 base::TimeDelta::FromDays(5000)); 111 base::TimeDelta::FromDays(5000));
112 device_policy_.policy_data().set_timestamp( 112 device_policy_.policy_data().set_timestamp(
113 (timestamp - base::Time::UnixEpoch()).InMilliseconds()); 113 (timestamp - base::Time::UnixEpoch()).InMilliseconds());
114 device_policy_.Build(); 114 device_policy_.Build();
115 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); 115 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob());
116 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key()); 116 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key());
117 ReloadDeviceSettings(); 117 ReloadDeviceSettings();
118 118
119 EXPECT_EQ(DeviceSettingsService::STORE_TEMP_VALIDATION_ERROR, 119 EXPECT_EQ(DeviceSettingsService::STORE_TEMP_VALIDATION_ERROR,
120 device_settings_service_.status()); 120 device_settings_service_->status());
121 EXPECT_FALSE(device_settings_service_.policy_data()); 121 EXPECT_FALSE(device_settings_service_->policy_data());
122 EXPECT_FALSE(device_settings_service_.device_settings()); 122 EXPECT_FALSE(device_settings_service_->device_settings());
123 } 123 }
124 124
125 TEST_F(DeviceSettingsServiceTest, LoadSuccess) { 125 TEST_F(DeviceSettingsServiceTest, LoadSuccess) {
126 ReloadDeviceSettings(); 126 ReloadDeviceSettings();
127 127
128 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 128 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
129 device_settings_service_.status()); 129 device_settings_service_->status());
130 CheckPolicy(); 130 CheckPolicy();
131 } 131 }
132 132
133 TEST_F(DeviceSettingsServiceTest, SignAndStoreNoKey) { 133 TEST_F(DeviceSettingsServiceTest, SignAndStoreNoKey) {
134 ReloadDeviceSettings(); 134 ReloadDeviceSettings();
135 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 135 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
136 device_settings_service_.status()); 136 device_settings_service_->status());
137 137
138 scoped_ptr<em::ChromeDeviceSettingsProto> new_device_settings( 138 scoped_ptr<em::ChromeDeviceSettingsProto> new_device_settings(
139 new em::ChromeDeviceSettingsProto(device_policy_.payload())); 139 new em::ChromeDeviceSettingsProto(device_policy_.payload()));
140 new_device_settings->mutable_device_policy_refresh_rate()-> 140 new_device_settings->mutable_device_policy_refresh_rate()->
141 set_device_policy_refresh_rate(300); 141 set_device_policy_refresh_rate(300);
142 device_settings_service_.SignAndStore( 142 device_settings_service_->SignAndStore(
143 new_device_settings.Pass(), 143 new_device_settings.Pass(),
144 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted, 144 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted,
145 base::Unretained(this))); 145 base::Unretained(this)));
146 FlushDeviceSettings(); 146 FlushDeviceSettings();
147 EXPECT_TRUE(operation_completed_); 147 EXPECT_TRUE(operation_completed_);
148 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE, 148 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE,
149 device_settings_service_.status()); 149 device_settings_service_->status());
150 CheckPolicy(); 150 CheckPolicy();
151 } 151 }
152 152
153 TEST_F(DeviceSettingsServiceTest, SignAndStoreFailure) { 153 TEST_F(DeviceSettingsServiceTest, SignAndStoreFailure) {
154 ReloadDeviceSettings(); 154 ReloadDeviceSettings();
155 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 155 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
156 device_settings_service_.status()); 156 device_settings_service_->status());
157 157
158 owner_key_util_->SetPrivateKey(device_policy_.signing_key()); 158 owner_key_util_->SetPrivateKey(device_policy_.signing_key());
159 device_settings_service_.SetUsername(device_policy_.policy_data().username()); 159 device_settings_service_->SetUsername(
160 device_policy_.policy_data().username());
160 FlushDeviceSettings(); 161 FlushDeviceSettings();
161 162
162 scoped_ptr<em::ChromeDeviceSettingsProto> new_device_settings( 163 scoped_ptr<em::ChromeDeviceSettingsProto> new_device_settings(
163 new em::ChromeDeviceSettingsProto(device_policy_.payload())); 164 new em::ChromeDeviceSettingsProto(device_policy_.payload()));
164 new_device_settings->mutable_device_policy_refresh_rate()-> 165 new_device_settings->mutable_device_policy_refresh_rate()->
165 set_device_policy_refresh_rate(300); 166 set_device_policy_refresh_rate(300);
166 device_settings_test_helper_.set_store_result(false); 167 device_settings_test_helper_.set_store_result(false);
167 device_settings_service_.SignAndStore( 168 device_settings_service_->SignAndStore(
168 new_device_settings.Pass(), 169 new_device_settings.Pass(),
169 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted, 170 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted,
170 base::Unretained(this))); 171 base::Unretained(this)));
171 FlushDeviceSettings(); 172 FlushDeviceSettings();
172 EXPECT_TRUE(operation_completed_); 173 EXPECT_TRUE(operation_completed_);
173 EXPECT_EQ(DeviceSettingsService::STORE_OPERATION_FAILED, 174 EXPECT_EQ(DeviceSettingsService::STORE_OPERATION_FAILED,
174 device_settings_service_.status()); 175 device_settings_service_->status());
175 CheckPolicy(); 176 CheckPolicy();
176 } 177 }
177 178
178 TEST_F(DeviceSettingsServiceTest, SignAndStoreSuccess) { 179 TEST_F(DeviceSettingsServiceTest, SignAndStoreSuccess) {
179 ReloadDeviceSettings(); 180 ReloadDeviceSettings();
180 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 181 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
181 device_settings_service_.status()); 182 device_settings_service_->status());
182 183
183 owner_key_util_->SetPrivateKey(device_policy_.signing_key()); 184 owner_key_util_->SetPrivateKey(device_policy_.signing_key());
184 device_settings_service_.SetUsername(device_policy_.policy_data().username()); 185 device_settings_service_->SetUsername(
186 device_policy_.policy_data().username());
185 FlushDeviceSettings(); 187 FlushDeviceSettings();
186 188
187 device_policy_.payload().mutable_device_policy_refresh_rate()-> 189 device_policy_.payload().mutable_device_policy_refresh_rate()->
188 set_device_policy_refresh_rate(300); 190 set_device_policy_refresh_rate(300);
189 device_policy_.Build(); 191 device_policy_.Build();
190 device_settings_service_.SignAndStore( 192 device_settings_service_->SignAndStore(
191 scoped_ptr<em::ChromeDeviceSettingsProto>( 193 scoped_ptr<em::ChromeDeviceSettingsProto>(
192 new em::ChromeDeviceSettingsProto(device_policy_.payload())), 194 new em::ChromeDeviceSettingsProto(device_policy_.payload())),
193 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted, 195 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted,
194 base::Unretained(this))); 196 base::Unretained(this)));
195 FlushDeviceSettings(); 197 FlushDeviceSettings();
196 EXPECT_TRUE(operation_completed_); 198 EXPECT_TRUE(operation_completed_);
197 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 199 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
198 device_settings_service_.status()); 200 device_settings_service_->status());
199 ASSERT_TRUE(device_settings_service_.device_settings()); 201 ASSERT_TRUE(device_settings_service_->device_settings());
200 EXPECT_EQ(device_policy_.payload().SerializeAsString(), 202 EXPECT_EQ(device_policy_.payload().SerializeAsString(),
201 device_settings_service_.device_settings()->SerializeAsString()); 203 device_settings_service_->device_settings()->SerializeAsString());
202 } 204 }
203 205
204 TEST_F(DeviceSettingsServiceTest, StoreFailure) { 206 TEST_F(DeviceSettingsServiceTest, StoreFailure) {
205 owner_key_util_->Clear(); 207 owner_key_util_->Clear();
206 device_settings_test_helper_.set_policy_blob(std::string()); 208 device_settings_test_helper_.set_policy_blob(std::string());
207 ReloadDeviceSettings(); 209 ReloadDeviceSettings();
208 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE, 210 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE,
209 device_settings_service_.status()); 211 device_settings_service_->status());
210 212
211 device_settings_test_helper_.set_store_result(false); 213 device_settings_test_helper_.set_store_result(false);
212 device_settings_service_.Store( 214 device_settings_service_->Store(
213 device_policy_.GetCopy(), 215 device_policy_.GetCopy(),
214 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted, 216 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted,
215 base::Unretained(this))); 217 base::Unretained(this)));
216 FlushDeviceSettings(); 218 FlushDeviceSettings();
217 EXPECT_TRUE(operation_completed_); 219 EXPECT_TRUE(operation_completed_);
218 EXPECT_EQ(DeviceSettingsService::STORE_OPERATION_FAILED, 220 EXPECT_EQ(DeviceSettingsService::STORE_OPERATION_FAILED,
219 device_settings_service_.status()); 221 device_settings_service_->status());
220 } 222 }
221 223
222 TEST_F(DeviceSettingsServiceTest, StoreSuccess) { 224 TEST_F(DeviceSettingsServiceTest, StoreSuccess) {
223 owner_key_util_->Clear(); 225 owner_key_util_->Clear();
224 device_settings_test_helper_.set_policy_blob(std::string()); 226 device_settings_test_helper_.set_policy_blob(std::string());
225 ReloadDeviceSettings(); 227 ReloadDeviceSettings();
226 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE, 228 EXPECT_EQ(DeviceSettingsService::STORE_KEY_UNAVAILABLE,
227 device_settings_service_.status()); 229 device_settings_service_->status());
228 230
229 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key()); 231 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key());
230 device_settings_service_.Store( 232 device_settings_service_->Store(
231 device_policy_.GetCopy(), 233 device_policy_.GetCopy(),
232 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted, 234 base::Bind(&DeviceSettingsServiceTest::SetOperationCompleted,
233 base::Unretained(this))); 235 base::Unretained(this)));
234 FlushDeviceSettings(); 236 FlushDeviceSettings();
235 EXPECT_TRUE(operation_completed_); 237 EXPECT_TRUE(operation_completed_);
236 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 238 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
237 device_settings_service_.status()); 239 device_settings_service_->status());
238 CheckPolicy(); 240 CheckPolicy();
239 } 241 }
240 242
241 TEST_F(DeviceSettingsServiceTest, StoreRotation) { 243 TEST_F(DeviceSettingsServiceTest, StoreRotation) {
242 ReloadDeviceSettings(); 244 ReloadDeviceSettings();
243 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 245 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
244 device_settings_service_.status()); 246 device_settings_service_->status());
245 247
246 device_policy_.payload().mutable_device_policy_refresh_rate()-> 248 device_policy_.payload().mutable_device_policy_refresh_rate()->
247 set_device_policy_refresh_rate(300); 249 set_device_policy_refresh_rate(300);
248 device_policy_.set_new_signing_key( 250 device_policy_.set_new_signing_key(
249 policy::PolicyBuilder::CreateTestNewSigningKey()); 251 policy::PolicyBuilder::CreateTestNewSigningKey());
250 device_policy_.Build(); 252 device_policy_.Build();
251 device_settings_service_.Store(device_policy_.GetCopy(), base::Closure()); 253 device_settings_service_->Store(device_policy_.GetCopy(), base::Closure());
252 FlushDeviceSettings(); 254 FlushDeviceSettings();
253 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.new_signing_key()); 255 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.new_signing_key());
254 device_settings_service_.OwnerKeySet(true); 256 device_settings_service_->OwnerKeySet(true);
255 FlushDeviceSettings(); 257 FlushDeviceSettings();
256 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS, 258 EXPECT_EQ(DeviceSettingsService::STORE_SUCCESS,
257 device_settings_service_.status()); 259 device_settings_service_->status());
258 CheckPolicy(); 260 CheckPolicy();
259 261
260 // Check the new key has been loaded. 262 // Check the new key has been loaded.
261 std::vector<uint8> key; 263 std::vector<uint8> key;
262 ASSERT_TRUE(device_policy_.new_signing_key()->ExportPublicKey(&key)); 264 ASSERT_TRUE(device_policy_.new_signing_key()->ExportPublicKey(&key));
263 EXPECT_EQ(*device_settings_service_.GetOwnerKey()->public_key(), key); 265 EXPECT_EQ(*device_settings_service_->GetOwnerKey()->public_key(), key);
264 } 266 }
265 267
266 TEST_F(DeviceSettingsServiceTest, OwnershipStatus) { 268 TEST_F(DeviceSettingsServiceTest, OwnershipStatus) {
267 owner_key_util_->Clear(); 269 owner_key_util_->Clear();
268 270
269 EXPECT_FALSE(device_settings_service_.HasPrivateOwnerKey()); 271 EXPECT_FALSE(device_settings_service_->HasPrivateOwnerKey());
270 EXPECT_FALSE(device_settings_service_.GetOwnerKey()); 272 EXPECT_FALSE(device_settings_service_->GetOwnerKey());
271 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_UNKNOWN, 273 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_UNKNOWN,
272 device_settings_service_.GetOwnershipStatus()); 274 device_settings_service_->GetOwnershipStatus());
273 275
274 device_settings_service_.GetOwnershipStatusAsync( 276 device_settings_service_->GetOwnershipStatusAsync(
275 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus, 277 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus,
276 base::Unretained(this))); 278 base::Unretained(this)));
277 FlushDeviceSettings(); 279 FlushDeviceSettings();
278 EXPECT_FALSE(device_settings_service_.HasPrivateOwnerKey()); 280 EXPECT_FALSE(device_settings_service_->HasPrivateOwnerKey());
279 ASSERT_TRUE(device_settings_service_.GetOwnerKey()); 281 ASSERT_TRUE(device_settings_service_->GetOwnerKey());
280 EXPECT_FALSE(device_settings_service_.GetOwnerKey()->public_key()); 282 EXPECT_FALSE(device_settings_service_->GetOwnerKey()->public_key());
281 EXPECT_FALSE(device_settings_service_.GetOwnerKey()->private_key()); 283 EXPECT_FALSE(device_settings_service_->GetOwnerKey()->private_key());
282 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_NONE, 284 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_NONE,
283 device_settings_service_.GetOwnershipStatus()); 285 device_settings_service_->GetOwnershipStatus());
284 EXPECT_FALSE(is_owner_); 286 EXPECT_FALSE(is_owner_);
285 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_NONE, ownership_status_); 287 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_NONE, ownership_status_);
286 288
287 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key()); 289 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key());
288 ReloadDeviceSettings(); 290 ReloadDeviceSettings();
289 device_settings_service_.GetOwnershipStatusAsync( 291 device_settings_service_->GetOwnershipStatusAsync(
290 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus, 292 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus,
291 base::Unretained(this))); 293 base::Unretained(this)));
292 FlushDeviceSettings(); 294 FlushDeviceSettings();
293 EXPECT_FALSE(device_settings_service_.HasPrivateOwnerKey()); 295 EXPECT_FALSE(device_settings_service_->HasPrivateOwnerKey());
294 ASSERT_TRUE(device_settings_service_.GetOwnerKey()); 296 ASSERT_TRUE(device_settings_service_->GetOwnerKey());
295 ASSERT_TRUE(device_settings_service_.GetOwnerKey()->public_key()); 297 ASSERT_TRUE(device_settings_service_->GetOwnerKey()->public_key());
296 std::vector<uint8> key; 298 std::vector<uint8> key;
297 ASSERT_TRUE(device_policy_.signing_key()->ExportPublicKey(&key)); 299 ASSERT_TRUE(device_policy_.signing_key()->ExportPublicKey(&key));
298 EXPECT_EQ(*device_settings_service_.GetOwnerKey()->public_key(), key); 300 EXPECT_EQ(*device_settings_service_->GetOwnerKey()->public_key(), key);
299 EXPECT_FALSE(device_settings_service_.GetOwnerKey()->private_key()); 301 EXPECT_FALSE(device_settings_service_->GetOwnerKey()->private_key());
300 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, 302 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN,
301 device_settings_service_.GetOwnershipStatus()); 303 device_settings_service_->GetOwnershipStatus());
302 EXPECT_FALSE(is_owner_); 304 EXPECT_FALSE(is_owner_);
303 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, ownership_status_); 305 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, ownership_status_);
304 306
305 owner_key_util_->SetPrivateKey(device_policy_.signing_key()); 307 owner_key_util_->SetPrivateKey(device_policy_.signing_key());
306 device_settings_service_.SetUsername(device_policy_.policy_data().username()); 308 device_settings_service_->SetUsername(
307 device_settings_service_.GetOwnershipStatusAsync( 309 device_policy_.policy_data().username());
310 device_settings_service_->GetOwnershipStatusAsync(
308 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus, 311 base::Bind(&DeviceSettingsServiceTest::SetOwnershipStatus,
309 base::Unretained(this))); 312 base::Unretained(this)));
310 FlushDeviceSettings(); 313 FlushDeviceSettings();
311 EXPECT_TRUE(device_settings_service_.HasPrivateOwnerKey()); 314 EXPECT_TRUE(device_settings_service_->HasPrivateOwnerKey());
312 ASSERT_TRUE(device_settings_service_.GetOwnerKey()); 315 ASSERT_TRUE(device_settings_service_->GetOwnerKey());
313 ASSERT_TRUE(device_settings_service_.GetOwnerKey()->public_key()); 316 ASSERT_TRUE(device_settings_service_->GetOwnerKey()->public_key());
314 ASSERT_TRUE(device_policy_.signing_key()->ExportPublicKey(&key)); 317 ASSERT_TRUE(device_policy_.signing_key()->ExportPublicKey(&key));
315 EXPECT_EQ(*device_settings_service_.GetOwnerKey()->public_key(), key); 318 EXPECT_EQ(*device_settings_service_->GetOwnerKey()->public_key(), key);
316 EXPECT_TRUE(device_settings_service_.GetOwnerKey()->private_key()); 319 EXPECT_TRUE(device_settings_service_->GetOwnerKey()->private_key());
317 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, 320 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN,
318 device_settings_service_.GetOwnershipStatus()); 321 device_settings_service_->GetOwnershipStatus());
319 EXPECT_TRUE(is_owner_); 322 EXPECT_TRUE(is_owner_);
320 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, ownership_status_); 323 EXPECT_EQ(DeviceSettingsService::OWNERSHIP_TAKEN, ownership_status_);
321 } 324 }
322 325
323 TEST_F(DeviceSettingsServiceTest, Observer) { 326 TEST_F(DeviceSettingsServiceTest, Observer) {
324 owner_key_util_->Clear(); 327 owner_key_util_->Clear();
325 MockDeviceSettingsObserver observer_; 328 MockDeviceSettingsObserver observer_;
326 device_settings_service_.AddObserver(&observer_); 329 device_settings_service_->AddObserver(&observer_);
327 330
328 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(1); 331 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(1);
329 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1); 332 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1);
330 ReloadDeviceSettings(); 333 ReloadDeviceSettings();
331 Mock::VerifyAndClearExpectations(&observer_); 334 Mock::VerifyAndClearExpectations(&observer_);
332 335
333 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(1); 336 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(1);
334 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1); 337 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1);
335 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key()); 338 owner_key_util_->SetPublicKeyFromPrivateKey(device_policy_.signing_key());
336 ReloadDeviceSettings(); 339 ReloadDeviceSettings();
337 Mock::VerifyAndClearExpectations(&observer_); 340 Mock::VerifyAndClearExpectations(&observer_);
338 341
339 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(0); 342 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(0);
340 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1); 343 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1);
341 device_settings_service_.Store(device_policy_.GetCopy(), base::Closure()); 344 device_settings_service_->Store(device_policy_.GetCopy(), base::Closure());
342 FlushDeviceSettings(); 345 FlushDeviceSettings();
343 Mock::VerifyAndClearExpectations(&observer_); 346 Mock::VerifyAndClearExpectations(&observer_);
344 347
345 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(0); 348 EXPECT_CALL(observer_, OwnershipStatusChanged()).Times(0);
346 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1); 349 EXPECT_CALL(observer_, DeviceSettingsUpdated()).Times(1);
347 device_settings_service_.PropertyChangeComplete(true); 350 device_settings_service_->PropertyChangeComplete(true);
348 FlushDeviceSettings(); 351 FlushDeviceSettings();
349 Mock::VerifyAndClearExpectations(&observer_); 352 Mock::VerifyAndClearExpectations(&observer_);
350 353
351 device_settings_service_.RemoveObserver(&observer_); 354 device_settings_service_->RemoveObserver(&observer_);
352 } 355 }
353 356
354 } // namespace chromeos 357 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698