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/chromeos/policy/device_local_account_policy_service.h" | 5 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/files/file_path.h" | 12 #include "base/files/file_path.h" |
13 #include "base/files/file_util.h" | 13 #include "base/files/file_util.h" |
14 #include "base/files/scoped_temp_dir.h" | 14 #include "base/files/scoped_temp_dir.h" |
15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
16 #include "base/message_loop/message_loop_proxy.h" | 16 #include "base/message_loop/message_loop_proxy.h" |
17 #include "base/path_service.h" | 17 #include "base/path_service.h" |
18 #include "base/run_loop.h" | 18 #include "base/run_loop.h" |
19 #include "base/strings/string_number_conversions.h" | 19 #include "base/strings/string_number_conversions.h" |
20 #include "base/strings/stringprintf.h" | 20 #include "base/strings/stringprintf.h" |
21 #include "base/test/scoped_path_override.h" | 21 #include "base/test/scoped_path_override.h" |
22 #include "base/test/test_simple_task_runner.h" | 22 #include "base/test/test_simple_task_runner.h" |
23 #include "chrome/browser/chromeos/policy/device_local_account.h" | 23 #include "chrome/browser/chromeos/policy/device_local_account.h" |
24 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" | 24 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" |
| 25 #include "chrome/browser/chromeos/policy/fake_affiliated_invalidation_service_pr
ovider.h" |
25 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" | 26 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" |
26 #include "chrome/browser/chromeos/settings/cros_settings.h" | 27 #include "chrome/browser/chromeos/settings/cros_settings.h" |
27 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 28 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
28 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" | 29 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" |
29 #include "chrome/common/chrome_paths.h" | 30 #include "chrome/common/chrome_paths.h" |
30 #include "chromeos/chromeos_paths.h" | 31 #include "chromeos/chromeos_paths.h" |
31 #include "chromeos/dbus/power_policy_controller.h" | 32 #include "chromeos/dbus/power_policy_controller.h" |
32 #include "components/policy/core/common/cloud/cloud_policy_client.h" | 33 #include "components/policy/core/common/cloud/cloud_policy_client.h" |
33 #include "components/policy/core/common/cloud/cloud_policy_constants.h" | 34 #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
34 #include "components/policy/core/common/cloud/cloud_policy_service.h" | 35 #include "components/policy/core/common/cloud/cloud_policy_service.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 virtual void InstallDevicePolicy(); | 92 virtual void InstallDevicePolicy(); |
92 | 93 |
93 const std::string account_1_user_id_; | 94 const std::string account_1_user_id_; |
94 const std::string account_2_user_id_; | 95 const std::string account_2_user_id_; |
95 | 96 |
96 PolicyMap expected_policy_map_; | 97 PolicyMap expected_policy_map_; |
97 UserPolicyBuilder device_local_account_policy_; | 98 UserPolicyBuilder device_local_account_policy_; |
98 chromeos::CrosSettings cros_settings_; | 99 chromeos::CrosSettings cros_settings_; |
99 scoped_refptr<base::TestSimpleTaskRunner> extension_cache_task_runner_; | 100 scoped_refptr<base::TestSimpleTaskRunner> extension_cache_task_runner_; |
100 MockDeviceManagementService mock_device_management_service_; | 101 MockDeviceManagementService mock_device_management_service_; |
| 102 FakeAffiliatedInvalidationServiceProvider |
| 103 affiliated_invalidation_service_provider_; |
101 scoped_ptr<DeviceLocalAccountPolicyService> service_; | 104 scoped_ptr<DeviceLocalAccountPolicyService> service_; |
102 | 105 |
103 private: | 106 private: |
104 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyServiceTestBase); | 107 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyServiceTestBase); |
105 }; | 108 }; |
106 | 109 |
107 class DeviceLocalAccountPolicyServiceTest | 110 class DeviceLocalAccountPolicyServiceTest |
108 : public DeviceLocalAccountPolicyServiceTestBase { | 111 : public DeviceLocalAccountPolicyServiceTestBase { |
109 public: | 112 public: |
110 MOCK_METHOD1(OnRefreshDone, void(bool)); | 113 MOCK_METHOD1(OnRefreshDone, void(bool)); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 service_.reset(); | 158 service_.reset(); |
156 extension_cache_task_runner_->RunUntilIdle(); | 159 extension_cache_task_runner_->RunUntilIdle(); |
157 chromeos::DeviceSettingsTestBase::TearDown(); | 160 chromeos::DeviceSettingsTestBase::TearDown(); |
158 } | 161 } |
159 | 162 |
160 void DeviceLocalAccountPolicyServiceTestBase::CreatePolicyService() { | 163 void DeviceLocalAccountPolicyServiceTestBase::CreatePolicyService() { |
161 service_.reset(new DeviceLocalAccountPolicyService( | 164 service_.reset(new DeviceLocalAccountPolicyService( |
162 &device_settings_test_helper_, | 165 &device_settings_test_helper_, |
163 &device_settings_service_, | 166 &device_settings_service_, |
164 &cros_settings_, | 167 &cros_settings_, |
| 168 &affiliated_invalidation_service_provider_, |
165 base::MessageLoopProxy::current(), | 169 base::MessageLoopProxy::current(), |
166 extension_cache_task_runner_, | 170 extension_cache_task_runner_, |
167 base::MessageLoopProxy::current(), | 171 base::MessageLoopProxy::current(), |
168 base::MessageLoopProxy::current(), | 172 base::MessageLoopProxy::current(), |
169 new net::TestURLRequestContextGetter(base::MessageLoopProxy::current()))); | 173 new net::TestURLRequestContextGetter(base::MessageLoopProxy::current()))); |
170 } | 174 } |
171 | 175 |
172 void DeviceLocalAccountPolicyServiceTestBase:: | 176 void DeviceLocalAccountPolicyServiceTestBase:: |
173 InstallDeviceLocalAccountPolicy(const std::string& account_id) { | 177 InstallDeviceLocalAccountPolicy(const std::string& account_id) { |
174 device_local_account_policy_.policy_data().set_settings_entity_id(account_id); | 178 device_local_account_policy_.policy_data().set_settings_entity_id(account_id); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 InstallDevicePolicy(); | 228 InstallDevicePolicy(); |
225 | 229 |
226 DeviceLocalAccountPolicyBroker* broker = | 230 DeviceLocalAccountPolicyBroker* broker = |
227 service_->GetBrokerForUser(account_1_user_id_); | 231 service_->GetBrokerForUser(account_1_user_id_); |
228 ASSERT_TRUE(broker); | 232 ASSERT_TRUE(broker); |
229 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 233 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
230 ASSERT_TRUE(broker->core()->store()); | 234 ASSERT_TRUE(broker->core()->store()); |
231 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); | 235 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); |
232 EXPECT_FALSE(broker->core()->client()); | 236 EXPECT_FALSE(broker->core()->client()); |
233 EXPECT_FALSE(broker->core()->store()->policy_map().empty()); | 237 EXPECT_FALSE(broker->core()->store()->policy_map().empty()); |
| 238 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
234 } | 239 } |
235 | 240 |
236 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadNoPolicy) { | 241 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadNoPolicy) { |
237 AddDeviceLocalAccountToPolicy(kAccount1); | 242 AddDeviceLocalAccountToPolicy(kAccount1); |
238 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 243 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
239 InstallDevicePolicy(); | 244 InstallDevicePolicy(); |
240 | 245 |
241 DeviceLocalAccountPolicyBroker* broker = | 246 DeviceLocalAccountPolicyBroker* broker = |
242 service_->GetBrokerForUser(account_1_user_id_); | 247 service_->GetBrokerForUser(account_1_user_id_); |
243 ASSERT_TRUE(broker); | 248 ASSERT_TRUE(broker); |
244 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 249 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
245 ASSERT_TRUE(broker->core()->store()); | 250 ASSERT_TRUE(broker->core()->store()); |
246 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, | 251 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, |
247 broker->core()->store()->status()); | 252 broker->core()->store()->status()); |
248 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); | 253 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); |
| 254 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
249 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 255 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
250 } | 256 } |
251 | 257 |
252 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadValidationFailure) { | 258 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadValidationFailure) { |
253 device_local_account_policy_.policy_data().set_policy_type( | 259 device_local_account_policy_.policy_data().set_policy_type( |
254 dm_protocol::kChromeUserPolicyType); | 260 dm_protocol::kChromeUserPolicyType); |
255 InstallDeviceLocalAccountPolicy(kAccount1); | 261 InstallDeviceLocalAccountPolicy(kAccount1); |
256 AddDeviceLocalAccountToPolicy(kAccount1); | 262 AddDeviceLocalAccountToPolicy(kAccount1); |
257 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 263 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
258 InstallDevicePolicy(); | 264 InstallDevicePolicy(); |
259 | 265 |
260 DeviceLocalAccountPolicyBroker* broker = | 266 DeviceLocalAccountPolicyBroker* broker = |
261 service_->GetBrokerForUser(account_1_user_id_); | 267 service_->GetBrokerForUser(account_1_user_id_); |
262 ASSERT_TRUE(broker); | 268 ASSERT_TRUE(broker); |
263 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 269 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
264 ASSERT_TRUE(broker->core()->store()); | 270 ASSERT_TRUE(broker->core()->store()); |
265 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, | 271 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, |
266 broker->core()->store()->status()); | 272 broker->core()->store()->status()); |
267 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); | 273 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); |
| 274 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
268 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 275 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
269 } | 276 } |
270 | 277 |
271 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadPolicy) { | 278 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadPolicy) { |
272 InstallDeviceLocalAccountPolicy(kAccount1); | 279 InstallDeviceLocalAccountPolicy(kAccount1); |
273 AddDeviceLocalAccountToPolicy(kAccount1); | 280 AddDeviceLocalAccountToPolicy(kAccount1); |
274 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 281 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
275 InstallDevicePolicy(); | 282 InstallDevicePolicy(); |
276 | 283 |
277 DeviceLocalAccountPolicyBroker* broker = | 284 DeviceLocalAccountPolicyBroker* broker = |
278 service_->GetBrokerForUser(account_1_user_id_); | 285 service_->GetBrokerForUser(account_1_user_id_); |
279 ASSERT_TRUE(broker); | 286 ASSERT_TRUE(broker); |
280 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 287 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
281 ASSERT_TRUE(broker->core()->store()); | 288 ASSERT_TRUE(broker->core()->store()); |
282 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); | 289 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); |
283 ASSERT_TRUE(broker->core()->store()->policy()); | 290 ASSERT_TRUE(broker->core()->store()->policy()); |
284 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), | 291 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), |
285 broker->core()->store()->policy()->SerializeAsString()); | 292 broker->core()->store()->policy()->SerializeAsString()); |
286 EXPECT_TRUE(expected_policy_map_.Equals( | 293 EXPECT_TRUE(expected_policy_map_.Equals( |
287 broker->core()->store()->policy_map())); | 294 broker->core()->store()->policy_map())); |
| 295 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
288 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 296 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
289 } | 297 } |
290 | 298 |
291 TEST_F(DeviceLocalAccountPolicyServiceTest, StoreValidationFailure) { | 299 TEST_F(DeviceLocalAccountPolicyServiceTest, StoreValidationFailure) { |
292 AddDeviceLocalAccountToPolicy(kAccount1); | 300 AddDeviceLocalAccountToPolicy(kAccount1); |
293 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 301 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
294 InstallDevicePolicy(); | 302 InstallDevicePolicy(); |
295 Mock::VerifyAndClearExpectations(&service_observer_); | 303 Mock::VerifyAndClearExpectations(&service_observer_); |
296 | 304 |
297 DeviceLocalAccountPolicyBroker* broker = | 305 DeviceLocalAccountPolicyBroker* broker = |
298 service_->GetBrokerForUser(account_1_user_id_); | 306 service_->GetBrokerForUser(account_1_user_id_); |
299 ASSERT_TRUE(broker); | 307 ASSERT_TRUE(broker); |
300 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 308 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
301 ASSERT_TRUE(broker->core()->store()); | 309 ASSERT_TRUE(broker->core()->store()); |
302 | 310 |
303 device_local_account_policy_.policy_data().set_policy_type( | 311 device_local_account_policy_.policy_data().set_policy_type( |
304 dm_protocol::kChromeUserPolicyType); | 312 dm_protocol::kChromeUserPolicyType); |
305 device_local_account_policy_.Build(); | 313 device_local_account_policy_.Build(); |
306 broker->core()->store()->Store(device_local_account_policy_.policy()); | 314 broker->core()->store()->Store(device_local_account_policy_.policy()); |
307 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 315 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
308 FlushDeviceSettings(); | 316 FlushDeviceSettings(); |
309 | 317 |
310 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, | 318 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, |
311 broker->core()->store()->status()); | 319 broker->core()->store()->status()); |
312 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE, | 320 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE, |
313 broker->core()->store()->validation_status()); | 321 broker->core()->store()->validation_status()); |
| 322 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
314 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 323 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
315 } | 324 } |
316 | 325 |
317 TEST_F(DeviceLocalAccountPolicyServiceTest, StorePolicy) { | 326 TEST_F(DeviceLocalAccountPolicyServiceTest, StorePolicy) { |
318 AddDeviceLocalAccountToPolicy(kAccount1); | 327 AddDeviceLocalAccountToPolicy(kAccount1); |
319 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 328 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
320 InstallDevicePolicy(); | 329 InstallDevicePolicy(); |
321 Mock::VerifyAndClearExpectations(&service_observer_); | 330 Mock::VerifyAndClearExpectations(&service_observer_); |
322 | 331 |
323 DeviceLocalAccountPolicyBroker* broker = | 332 DeviceLocalAccountPolicyBroker* broker = |
324 service_->GetBrokerForUser(account_1_user_id_); | 333 service_->GetBrokerForUser(account_1_user_id_); |
325 ASSERT_TRUE(broker); | 334 ASSERT_TRUE(broker); |
326 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 335 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
327 ASSERT_TRUE(broker->core()->store()); | 336 ASSERT_TRUE(broker->core()->store()); |
328 | 337 |
329 device_local_account_policy_.policy_data().set_settings_entity_id(kAccount1); | 338 device_local_account_policy_.policy_data().set_settings_entity_id(kAccount1); |
330 device_local_account_policy_.policy_data().set_username(kAccount1); | 339 device_local_account_policy_.policy_data().set_username(kAccount1); |
331 device_local_account_policy_.Build(); | 340 device_local_account_policy_.Build(); |
332 broker->core()->store()->Store(device_local_account_policy_.policy()); | 341 broker->core()->store()->Store(device_local_account_policy_.policy()); |
333 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 342 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
334 FlushDeviceSettings(); | 343 FlushDeviceSettings(); |
335 | 344 |
336 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); | 345 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); |
337 ASSERT_TRUE(broker->core()->store()->policy()); | 346 ASSERT_TRUE(broker->core()->store()->policy()); |
338 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), | 347 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), |
339 broker->core()->store()->policy()->SerializeAsString()); | 348 broker->core()->store()->policy()->SerializeAsString()); |
340 EXPECT_TRUE(expected_policy_map_.Equals( | 349 EXPECT_TRUE(expected_policy_map_.Equals( |
341 broker->core()->store()->policy_map())); | 350 broker->core()->store()->policy_map())); |
| 351 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
342 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 352 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
343 } | 353 } |
344 | 354 |
345 TEST_F(DeviceLocalAccountPolicyServiceTest, DevicePolicyChange) { | 355 TEST_F(DeviceLocalAccountPolicyServiceTest, DevicePolicyChange) { |
346 InstallDeviceLocalAccountPolicy(kAccount1); | 356 InstallDeviceLocalAccountPolicy(kAccount1); |
347 AddDeviceLocalAccountToPolicy(kAccount1); | 357 AddDeviceLocalAccountToPolicy(kAccount1); |
348 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 358 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
349 InstallDevicePolicy(); | 359 InstallDevicePolicy(); |
350 | 360 |
351 device_policy_.payload().mutable_device_local_accounts()->clear_account(); | 361 device_policy_.payload().mutable_device_local_accounts()->clear_account(); |
(...skipping 18 matching lines...) Expand all Loading... |
370 service_->GetBrokerForUser(account_1_user_id_); | 380 service_->GetBrokerForUser(account_1_user_id_); |
371 ASSERT_TRUE(broker); | 381 ASSERT_TRUE(broker); |
372 EXPECT_EQ(account_1_user_id_, broker->user_id()); | 382 EXPECT_EQ(account_1_user_id_, broker->user_id()); |
373 ASSERT_TRUE(broker->core()->store()); | 383 ASSERT_TRUE(broker->core()->store()); |
374 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); | 384 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); |
375 ASSERT_TRUE(broker->core()->store()->policy()); | 385 ASSERT_TRUE(broker->core()->store()->policy()); |
376 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), | 386 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), |
377 broker->core()->store()->policy()->SerializeAsString()); | 387 broker->core()->store()->policy()->SerializeAsString()); |
378 EXPECT_TRUE(expected_policy_map_.Equals( | 388 EXPECT_TRUE(expected_policy_map_.Equals( |
379 broker->core()->store()->policy_map())); | 389 broker->core()->store()->policy_map())); |
| 390 EXPECT_FALSE(broker->HasInvalidatorForTest()); |
380 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 391 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
381 } | 392 } |
382 | 393 |
383 TEST_F(DeviceLocalAccountPolicyServiceTest, FetchPolicy) { | 394 TEST_F(DeviceLocalAccountPolicyServiceTest, FetchPolicy) { |
384 InstallDeviceLocalAccountPolicy(kAccount1); | 395 InstallDeviceLocalAccountPolicy(kAccount1); |
385 AddDeviceLocalAccountToPolicy(kAccount1); | 396 AddDeviceLocalAccountToPolicy(kAccount1); |
386 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 397 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
387 InstallDevicePolicy(); | 398 InstallDevicePolicy(); |
388 | 399 |
389 DeviceLocalAccountPolicyBroker* broker = | 400 DeviceLocalAccountPolicyBroker* broker = |
(...skipping 14 matching lines...) Expand all Loading... |
404 StartJob(dm_protocol::kValueRequestPolicy, | 415 StartJob(dm_protocol::kValueRequestPolicy, |
405 std::string(), std::string(), | 416 std::string(), std::string(), |
406 device_policy_.policy_data().request_token(), | 417 device_policy_.policy_data().request_token(), |
407 dm_protocol::kValueUserAffiliationManaged, | 418 dm_protocol::kValueUserAffiliationManaged, |
408 device_policy_.policy_data().device_id(), | 419 device_policy_.policy_data().device_id(), |
409 _)) | 420 _)) |
410 .WillOnce(SaveArg<6>(&request)); | 421 .WillOnce(SaveArg<6>(&request)); |
411 // This will be called twice, because the ComponentCloudPolicyService will | 422 // This will be called twice, because the ComponentCloudPolicyService will |
412 // also become ready after flushing all the pending tasks. | 423 // also become ready after flushing all the pending tasks. |
413 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)).Times(2); | 424 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)).Times(2); |
414 broker->core()->client()->FetchPolicy(); | |
415 FlushDeviceSettings(); | 425 FlushDeviceSettings(); |
416 Mock::VerifyAndClearExpectations(&service_observer_); | 426 Mock::VerifyAndClearExpectations(&service_observer_); |
417 Mock::VerifyAndClearExpectations(&mock_device_management_service_); | 427 Mock::VerifyAndClearExpectations(&mock_device_management_service_); |
418 EXPECT_TRUE(request.has_policy_request()); | 428 EXPECT_TRUE(request.has_policy_request()); |
419 ASSERT_EQ(2, request.policy_request().request_size()); | 429 ASSERT_EQ(2, request.policy_request().request_size()); |
420 | 430 |
421 const em::PolicyFetchRequest* public_account = | 431 const em::PolicyFetchRequest* public_account = |
422 &request.policy_request().request(0); | 432 &request.policy_request().request(0); |
423 const em::PolicyFetchRequest* extensions = | 433 const em::PolicyFetchRequest* extensions = |
424 &request.policy_request().request(1); | 434 &request.policy_request().request(1); |
(...skipping 14 matching lines...) Expand all Loading... |
439 EXPECT_FALSE(extensions->has_settings_entity_id()); | 449 EXPECT_FALSE(extensions->has_settings_entity_id()); |
440 | 450 |
441 ASSERT_TRUE(broker->core()->store()); | 451 ASSERT_TRUE(broker->core()->store()); |
442 EXPECT_EQ(CloudPolicyStore::STATUS_OK, | 452 EXPECT_EQ(CloudPolicyStore::STATUS_OK, |
443 broker->core()->store()->status()); | 453 broker->core()->store()->status()); |
444 ASSERT_TRUE(broker->core()->store()->policy()); | 454 ASSERT_TRUE(broker->core()->store()->policy()); |
445 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), | 455 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), |
446 broker->core()->store()->policy()->SerializeAsString()); | 456 broker->core()->store()->policy()->SerializeAsString()); |
447 EXPECT_TRUE(expected_policy_map_.Equals( | 457 EXPECT_TRUE(expected_policy_map_.Equals( |
448 broker->core()->store()->policy_map())); | 458 broker->core()->store()->policy_map())); |
| 459 EXPECT_TRUE(broker->HasInvalidatorForTest()); |
449 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 460 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
450 } | 461 } |
451 | 462 |
452 TEST_F(DeviceLocalAccountPolicyServiceTest, RefreshPolicy) { | 463 TEST_F(DeviceLocalAccountPolicyServiceTest, RefreshPolicy) { |
453 InstallDeviceLocalAccountPolicy(kAccount1); | 464 InstallDeviceLocalAccountPolicy(kAccount1); |
454 AddDeviceLocalAccountToPolicy(kAccount1); | 465 AddDeviceLocalAccountToPolicy(kAccount1); |
455 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); | 466 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); |
456 InstallDevicePolicy(); | 467 InstallDevicePolicy(); |
457 | 468 |
458 DeviceLocalAccountPolicyBroker* broker = | 469 DeviceLocalAccountPolicyBroker* broker = |
(...skipping 19 matching lines...) Expand all Loading... |
478 FlushDeviceSettings(); | 489 FlushDeviceSettings(); |
479 Mock::VerifyAndClearExpectations(&service_observer_); | 490 Mock::VerifyAndClearExpectations(&service_observer_); |
480 Mock::VerifyAndClearExpectations(this); | 491 Mock::VerifyAndClearExpectations(this); |
481 Mock::VerifyAndClearExpectations(&mock_device_management_service_); | 492 Mock::VerifyAndClearExpectations(&mock_device_management_service_); |
482 | 493 |
483 ASSERT_TRUE(broker->core()->store()); | 494 ASSERT_TRUE(broker->core()->store()); |
484 EXPECT_EQ(CloudPolicyStore::STATUS_OK, | 495 EXPECT_EQ(CloudPolicyStore::STATUS_OK, |
485 broker->core()->store()->status()); | 496 broker->core()->store()->status()); |
486 EXPECT_TRUE(expected_policy_map_.Equals( | 497 EXPECT_TRUE(expected_policy_map_.Equals( |
487 broker->core()->store()->policy_map())); | 498 broker->core()->store()->policy_map())); |
| 499 EXPECT_TRUE(broker->HasInvalidatorForTest()); |
488 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); | 500 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); |
489 } | 501 } |
490 | 502 |
491 class DeviceLocalAccountPolicyExtensionCacheTest | 503 class DeviceLocalAccountPolicyExtensionCacheTest |
492 : public DeviceLocalAccountPolicyServiceTestBase { | 504 : public DeviceLocalAccountPolicyServiceTestBase { |
493 protected: | 505 protected: |
494 DeviceLocalAccountPolicyExtensionCacheTest(); | 506 DeviceLocalAccountPolicyExtensionCacheTest(); |
495 | 507 |
496 void SetUp() override; | 508 void SetUp() override; |
497 | 509 |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
966 em::DeviceManagementResponse response; | 978 em::DeviceManagementResponse response; |
967 device_local_account_policy_.Build(); | 979 device_local_account_policy_.Build(); |
968 response.mutable_policy_response()->add_response()->CopyFrom( | 980 response.mutable_policy_response()->add_response()->CopyFrom( |
969 device_local_account_policy_.policy()); | 981 device_local_account_policy_.policy()); |
970 request_job->SendResponse(DM_STATUS_SUCCESS, response); | 982 request_job->SendResponse(DM_STATUS_SUCCESS, response); |
971 FlushDeviceSettings(); | 983 FlushDeviceSettings(); |
972 Mock::VerifyAndClearExpectations(&provider_observer_); | 984 Mock::VerifyAndClearExpectations(&provider_observer_); |
973 } | 985 } |
974 | 986 |
975 } // namespace policy | 987 } // namespace policy |
OLD | NEW |