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

Side by Side Diff: chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc

Issue 2230533002: Delete dead consumer enrollment code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 4 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
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/policy/device_cloud_policy_manager_chromeos.h" 5 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 base::Bind(&CopyLockResult, &loop, &result)); 171 base::Bind(&CopyLockResult, &loop, &result));
172 loop.Run(); 172 loop.Run();
173 ASSERT_EQ(EnterpriseInstallAttributes::LOCK_SUCCESS, result); 173 ASSERT_EQ(EnterpriseInstallAttributes::LOCK_SUCCESS, result);
174 } 174 }
175 175
176 void ConnectManager() { 176 void ConnectManager() {
177 manager_->Initialize(&local_state_); 177 manager_->Initialize(&local_state_);
178 manager_->AddDeviceCloudPolicyManagerObserver(this); 178 manager_->AddDeviceCloudPolicyManagerObserver(this);
179 initializer_.reset(new DeviceCloudPolicyInitializer( 179 initializer_.reset(new DeviceCloudPolicyInitializer(
180 &local_state_, &device_management_service_, 180 &local_state_, &device_management_service_,
181 &consumer_device_management_service_,
182 base::ThreadTaskRunnerHandle::Get(), install_attributes_.get(), 181 base::ThreadTaskRunnerHandle::Get(), install_attributes_.get(),
183 &state_keys_broker_, store_, manager_.get())); 182 &state_keys_broker_, store_, manager_.get()));
184 initializer_->Init(); 183 initializer_->Init();
185 } 184 }
186 185
187 void VerifyPolicyPopulated() { 186 void VerifyPolicyPopulated() {
188 PolicyBundle bundle; 187 PolicyBundle bundle;
189 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 188 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
190 .Set(key::kDeviceMetricsReportingEnabled, POLICY_LEVEL_MANDATORY, 189 .Set(key::kDeviceMetricsReportingEnabled, POLICY_LEVEL_MANDATORY,
191 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 190 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
(...skipping 19 matching lines...) Expand all
211 MOCK_METHOD0(OnDeviceCloudPolicyManagerDisconnected, void()); 210 MOCK_METHOD0(OnDeviceCloudPolicyManagerDisconnected, void());
212 211
213 std::unique_ptr<EnterpriseInstallAttributes> install_attributes_; 212 std::unique_ptr<EnterpriseInstallAttributes> install_attributes_;
214 213
215 scoped_refptr<net::URLRequestContextGetter> request_context_getter_; 214 scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
216 net::TestURLFetcherFactory url_fetcher_factory_; 215 net::TestURLFetcherFactory url_fetcher_factory_;
217 int url_fetcher_response_code_; 216 int url_fetcher_response_code_;
218 std::string url_fetcher_response_string_; 217 std::string url_fetcher_response_string_;
219 TestingPrefServiceSimple local_state_; 218 TestingPrefServiceSimple local_state_;
220 MockDeviceManagementService device_management_service_; 219 MockDeviceManagementService device_management_service_;
221 MockDeviceManagementService consumer_device_management_service_;
222 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; 220 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_;
223 chromeos::ScopedTestCrosSettings test_cros_settings_; 221 chromeos::ScopedTestCrosSettings test_cros_settings_;
224 chromeos::system::ScopedFakeStatisticsProvider fake_statistics_provider_; 222 chromeos::system::ScopedFakeStatisticsProvider fake_statistics_provider_;
225 chromeos::FakeSessionManagerClient fake_session_manager_client_; 223 chromeos::FakeSessionManagerClient fake_session_manager_client_;
226 chromeos::FakeCryptohomeClient* fake_cryptohome_client_; 224 chromeos::FakeCryptohomeClient* fake_cryptohome_client_;
227 ServerBackedStateKeysBroker state_keys_broker_; 225 ServerBackedStateKeysBroker state_keys_broker_;
228 226
229 DeviceCloudPolicyStoreChromeOS* store_; 227 DeviceCloudPolicyStoreChromeOS* store_;
230 SchemaRegistry schema_registry_; 228 SchemaRegistry schema_registry_;
231 std::unique_ptr<TestingDeviceCloudPolicyManagerChromeOS> manager_; 229 std::unique_ptr<TestingDeviceCloudPolicyManagerChromeOS> manager_;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 public: 368 public:
371 void Done(EnrollmentStatus status) { 369 void Done(EnrollmentStatus status) {
372 status_ = status; 370 status_ = status;
373 done_ = true; 371 done_ = true;
374 } 372 }
375 373
376 MOCK_METHOD1(OnUnregistered, void(bool)); 374 MOCK_METHOD1(OnUnregistered, void(bool));
377 375
378 protected: 376 protected:
379 DeviceCloudPolicyManagerChromeOSEnrollmentTest() 377 DeviceCloudPolicyManagerChromeOSEnrollmentTest()
380 : management_mode_(MANAGEMENT_MODE_ENTERPRISE_MANAGED), 378 : register_status_(DM_STATUS_SUCCESS),
381 register_status_(DM_STATUS_SUCCESS),
382 policy_fetch_status_(DM_STATUS_SUCCESS), 379 policy_fetch_status_(DM_STATUS_SUCCESS),
383 robot_auth_fetch_status_(DM_STATUS_SUCCESS), 380 robot_auth_fetch_status_(DM_STATUS_SUCCESS),
384 store_result_(true), 381 store_result_(true),
385 status_(EnrollmentStatus::ForStatus(EnrollmentStatus::STATUS_SUCCESS)), 382 status_(EnrollmentStatus::ForStatus(EnrollmentStatus::STATUS_SUCCESS)),
386 done_(false) {} 383 done_(false) {}
387 384
388 void SetUp() override { 385 void SetUp() override {
389 DeviceCloudPolicyManagerChromeOSTest::SetUp(); 386 DeviceCloudPolicyManagerChromeOSTest::SetUp();
390 387
391 // Set up test data. 388 // Set up test data.
(...skipping 26 matching lines...) Expand all
418 EXPECT_EQ(status, status_.status()); 415 EXPECT_EQ(status, status_.status());
419 EXPECT_FALSE(store_->is_managed()); 416 EXPECT_FALSE(store_->is_managed());
420 PolicyBundle empty_bundle; 417 PolicyBundle empty_bundle;
421 EXPECT_TRUE(manager_->policies().Equals(empty_bundle)); 418 EXPECT_TRUE(manager_->policies().Equals(empty_bundle));
422 } 419 }
423 420
424 void ExpectSuccessfulEnrollment() { 421 void ExpectSuccessfulEnrollment() {
425 EXPECT_EQ(EnrollmentStatus::STATUS_SUCCESS, status_.status()); 422 EXPECT_EQ(EnrollmentStatus::STATUS_SUCCESS, status_.status());
426 ASSERT_TRUE(manager_->core()->client()); 423 ASSERT_TRUE(manager_->core()->client());
427 EXPECT_TRUE(manager_->core()->client()->is_registered()); 424 EXPECT_TRUE(manager_->core()->client()->is_registered());
428 425 EXPECT_EQ(DEVICE_MODE_ENTERPRISE, install_attributes_->GetMode());
429 if (management_mode_ != MANAGEMENT_MODE_CONSUMER_MANAGED) { 426 EXPECT_TRUE(store_->has_policy());
430 EXPECT_EQ(DEVICE_MODE_ENTERPRISE, install_attributes_->GetMode()); 427 EXPECT_TRUE(store_->is_managed());
431 EXPECT_TRUE(store_->has_policy()); 428 VerifyPolicyPopulated();
432 EXPECT_TRUE(store_->is_managed());
433 VerifyPolicyPopulated();
434 }
435 } 429 }
436 430
437 void RunTest() { 431 void RunTest() {
438 // Trigger enrollment. 432 // Trigger enrollment.
439 MockDeviceManagementJob* register_job = NULL; 433 MockDeviceManagementJob* register_job = NULL;
440 EXPECT_CALL(device_management_service_, 434 EXPECT_CALL(device_management_service_,
441 CreateJob(DeviceManagementRequestJob::TYPE_REGISTRATION, _)) 435 CreateJob(DeviceManagementRequestJob::TYPE_REGISTRATION, _))
442 .Times(AtMost(1)) 436 .Times(AtMost(1))
443 .WillOnce(device_management_service_.CreateAsyncJob(&register_job)); 437 .WillOnce(device_management_service_.CreateAsyncJob(&register_job));
444 EXPECT_CALL(device_management_service_, 438 EXPECT_CALL(device_management_service_,
445 StartJob(dm_protocol::kValueRequestRegister, _, _, _, _, _)) 439 StartJob(dm_protocol::kValueRequestRegister, _, _, _, _, _))
446 .Times(AtMost(1)) 440 .Times(AtMost(1))
447 .WillOnce( 441 .WillOnce(
448 DoAll(SaveArg<4>(&client_id_), SaveArg<5>(&register_request_))); 442 DoAll(SaveArg<4>(&client_id_), SaveArg<5>(&register_request_)));
449 DeviceCloudPolicyInitializer::AllowedDeviceModes modes; 443 DeviceCloudPolicyInitializer::AllowedDeviceModes modes;
450 modes[DEVICE_MODE_ENTERPRISE] = true; 444 modes[DEVICE_MODE_ENTERPRISE] = true;
451 445
452 chromeos::OwnerSettingsServiceChromeOS* owner_settings_service = 446 chromeos::OwnerSettingsServiceChromeOS* owner_settings_service =
453 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( 447 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext(
454 profile_.get()); 448 profile_.get());
455 ASSERT_TRUE(owner_settings_service); 449 ASSERT_TRUE(owner_settings_service);
456 450
457 EnrollmentConfig enrollment_config; 451 EnrollmentConfig enrollment_config;
458 enrollment_config.mode = EnrollmentConfig::MODE_MANUAL; 452 enrollment_config.mode = EnrollmentConfig::MODE_MANUAL;
459 initializer_->StartEnrollment( 453 initializer_->StartEnrollment(
460 management_mode_, &device_management_service_, owner_settings_service, 454 &device_management_service_, enrollment_config, "auth token", modes,
461 enrollment_config, "auth token", modes,
462 base::Bind(&DeviceCloudPolicyManagerChromeOSEnrollmentTest::Done, 455 base::Bind(&DeviceCloudPolicyManagerChromeOSEnrollmentTest::Done,
463 base::Unretained(this))); 456 base::Unretained(this)));
464 base::RunLoop().RunUntilIdle(); 457 base::RunLoop().RunUntilIdle();
465 Mock::VerifyAndClearExpectations(&device_management_service_); 458 Mock::VerifyAndClearExpectations(&device_management_service_);
466 AllowUninterestingRemoteCommandFetches(); 459 AllowUninterestingRemoteCommandFetches();
467 460
468 if (done_) 461 if (done_)
469 return; 462 return;
470 463
471 // Process registration. 464 // Process registration.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID( 523 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(
531 gaia::GaiaOAuthClient::kUrlFetcherId); 524 gaia::GaiaOAuthClient::kUrlFetcherId);
532 ASSERT_TRUE(url_fetcher); 525 ASSERT_TRUE(url_fetcher);
533 url_fetcher->SetMaxRetriesOn5xx(0); 526 url_fetcher->SetMaxRetriesOn5xx(0);
534 url_fetcher->set_status(net::URLRequestStatus()); 527 url_fetcher->set_status(net::URLRequestStatus());
535 url_fetcher->set_response_code(url_fetcher_response_code_); 528 url_fetcher->set_response_code(url_fetcher_response_code_);
536 url_fetcher->SetResponseString(url_fetcher_response_string_); 529 url_fetcher->SetResponseString(url_fetcher_response_string_);
537 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); 530 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
538 } 531 }
539 532
540 if (management_mode_ == MANAGEMENT_MODE_CONSUMER_MANAGED) 533 base::RunLoop().RunUntilIdle();
541 FlushDeviceSettings();
542 else
543 base::RunLoop().RunUntilIdle();
544 534
545 if (done_) 535 if (done_)
546 return; 536 return;
547 537
548 // Process robot refresh token store. 538 // Process robot refresh token store.
549 chromeos::DeviceOAuth2TokenService* token_service = 539 chromeos::DeviceOAuth2TokenService* token_service =
550 chromeos::DeviceOAuth2TokenServiceFactory::Get(); 540 chromeos::DeviceOAuth2TokenServiceFactory::Get();
551 EXPECT_TRUE(token_service->RefreshTokenIsAvailable( 541 EXPECT_TRUE(token_service->RefreshTokenIsAvailable(
552 token_service->GetRobotAccountId())); 542 token_service->GetRobotAccountId()));
553 543
554 // Process policy store. 544 // Process policy store.
555 device_settings_test_helper_.set_store_result(store_result_); 545 device_settings_test_helper_.set_store_result(store_result_);
556 device_settings_test_helper_.FlushStore(); 546 device_settings_test_helper_.FlushStore();
557 EXPECT_EQ(device_policy_.GetBlob(), 547 EXPECT_EQ(device_policy_.GetBlob(),
558 device_settings_test_helper_.policy_blob()); 548 device_settings_test_helper_.policy_blob());
559 549
560 if (done_) 550 if (done_)
561 return; 551 return;
562 552
563 // Key installation and policy load. 553 // Key installation and policy load.
564 device_settings_test_helper_.set_policy_blob(loaded_blob_); 554 device_settings_test_helper_.set_policy_blob(loaded_blob_);
565 owner_key_util_->SetPublicKeyFromPrivateKey( 555 owner_key_util_->SetPublicKeyFromPrivateKey(
566 *device_policy_.GetNewSigningKey()); 556 *device_policy_.GetNewSigningKey());
567 ReloadDeviceSettings(); 557 ReloadDeviceSettings();
568 } 558 }
569 559
570 ManagementMode management_mode_;
571
572 DeviceManagementStatus register_status_; 560 DeviceManagementStatus register_status_;
573 em::DeviceManagementResponse register_response_; 561 em::DeviceManagementResponse register_response_;
574 562
575 DeviceManagementStatus policy_fetch_status_; 563 DeviceManagementStatus policy_fetch_status_;
576 em::DeviceManagementResponse policy_fetch_response_; 564 em::DeviceManagementResponse policy_fetch_response_;
577 565
578 DeviceManagementStatus robot_auth_fetch_status_; 566 DeviceManagementStatus robot_auth_fetch_status_;
579 em::DeviceManagementResponse robot_auth_fetch_response_; 567 em::DeviceManagementResponse robot_auth_fetch_response_;
580 568
581 bool store_result_; 569 bool store_result_;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 } 661 }
674 662
675 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, LoadError) { 663 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, LoadError) {
676 loaded_blob_.clear(); 664 loaded_blob_.clear();
677 RunTest(); 665 RunTest();
678 ExpectFailedEnrollment(EnrollmentStatus::STATUS_STORE_ERROR); 666 ExpectFailedEnrollment(EnrollmentStatus::STATUS_STORE_ERROR);
679 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, 667 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR,
680 status_.store_status()); 668 status_.store_status());
681 } 669 }
682 670
683 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest,
684 SuccessfulConsumerManagementEnrollment) {
685 management_mode_ = MANAGEMENT_MODE_CONSUMER_MANAGED;
686 owner_key_util_->SetPrivateKey(device_policy_.GetNewSigningKey());
687 InitOwner(AccountId::FromUserEmail(device_policy_.policy_data().username()),
688 true);
689 FlushDeviceSettings();
690
691 device_policy_.policy_data().set_management_mode(em::PolicyData::LOCAL_OWNER);
692 device_policy_.Build();
693 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob());
694 ReloadDeviceSettings();
695
696 RunTest();
697 ExpectSuccessfulEnrollment();
698 }
699
700 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, UnregisterSucceeds) { 671 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, UnregisterSucceeds) {
701 // Enroll first. 672 // Enroll first.
702 RunTest(); 673 RunTest();
703 ExpectSuccessfulEnrollment(); 674 ExpectSuccessfulEnrollment();
704 675
705 // Set up mock objects for the upcoming unregistration job. 676 // Set up mock objects for the upcoming unregistration job.
706 em::DeviceManagementResponse response; 677 em::DeviceManagementResponse response;
707 response.mutable_unregister_response(); 678 response.mutable_unregister_response();
708 EXPECT_CALL(device_management_service_, 679 EXPECT_CALL(device_management_service_,
709 CreateJob(DeviceManagementRequestJob::TYPE_UNREGISTRATION, _)) 680 CreateJob(DeviceManagementRequestJob::TYPE_UNREGISTRATION, _))
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 718
748 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest, 719 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest,
749 RobotRefreshSaveFailed) { 720 RobotRefreshSaveFailed) {
750 // Without the system salt, the robot token can't be stored. 721 // Without the system salt, the robot token can't be stored.
751 RunTest(); 722 RunTest();
752 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED); 723 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED);
753 } 724 }
754 725
755 } // namespace 726 } // namespace
756 } // namespace policy 727 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698