| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <memory> | 5 #include <memory> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <tuple> | 7 #include <tuple> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 TEST_P(ArcSessionManagerPolicyTest, SkippingTerms) { | 493 TEST_P(ArcSessionManagerPolicyTest, SkippingTerms) { |
| 494 sync_preferences::TestingPrefServiceSyncable* const prefs = | 494 sync_preferences::TestingPrefServiceSyncable* const prefs = |
| 495 profile()->GetTestingPrefService(); | 495 profile()->GetTestingPrefService(); |
| 496 | 496 |
| 497 // Backup-restore and location-service prefs are off by default. | 497 // Backup-restore and location-service prefs are off by default. |
| 498 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn)); | 498 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn)); |
| 499 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcTermsAccepted)); | 499 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcTermsAccepted)); |
| 500 | 500 |
| 501 // Enable ARC through user pref or by policy, according to the test parameter. | 501 // Enable ARC through user pref or by policy, according to the test parameter. |
| 502 if (arc_enabled_pref_managed()) | 502 if (arc_enabled_pref_managed()) |
| 503 prefs->SetManagedPref(prefs::kArcEnabled, new base::Value(true)); | 503 prefs->SetManagedPref(prefs::kArcEnabled, |
| 504 base::MakeUnique<base::Value>(true)); |
| 504 else | 505 else |
| 505 prefs->SetBoolean(prefs::kArcEnabled, true); | 506 prefs->SetBoolean(prefs::kArcEnabled, true); |
| 506 EXPECT_TRUE(IsArcPlayStoreEnabledForProfile(profile())); | 507 EXPECT_TRUE(IsArcPlayStoreEnabledForProfile(profile())); |
| 507 | 508 |
| 508 // Assign test values to the prefs. | 509 // Assign test values to the prefs. |
| 509 if (backup_restore_pref_value().is_bool()) { | 510 if (backup_restore_pref_value().is_bool()) { |
| 510 prefs->SetManagedPref(prefs::kArcBackupRestoreEnabled, | 511 prefs->SetManagedPref(prefs::kArcBackupRestoreEnabled, |
| 511 backup_restore_pref_value().DeepCopy()); | 512 backup_restore_pref_value().CreateDeepCopy()); |
| 512 } | 513 } |
| 513 if (location_service_pref_value().is_bool()) { | 514 if (location_service_pref_value().is_bool()) { |
| 514 prefs->SetManagedPref(prefs::kArcLocationServiceEnabled, | 515 prefs->SetManagedPref(prefs::kArcLocationServiceEnabled, |
| 515 location_service_pref_value().DeepCopy()); | 516 location_service_pref_value().CreateDeepCopy()); |
| 516 } | 517 } |
| 517 | 518 |
| 518 arc_session_manager()->SetProfile(profile()); | 519 arc_session_manager()->SetProfile(profile()); |
| 519 arc_session_manager()->RequestEnable(); | 520 arc_session_manager()->RequestEnable(); |
| 520 | 521 |
| 521 // Terms of Service are skipped iff ARC is enabled by policy and both | 522 // Terms of Service are skipped iff ARC is enabled by policy and both |
| 522 // ArcBackupRestoreEnabled and ArcLocationServiceEnabled are managed. | 523 // ArcBackupRestoreEnabled and ArcLocationServiceEnabled are managed. |
| 523 const bool expected_terms_skipping = arc_enabled_pref_managed() && | 524 const bool expected_terms_skipping = arc_enabled_pref_managed() && |
| 524 backup_restore_pref_value().is_bool() && | 525 backup_restore_pref_value().is_bool() && |
| 525 location_service_pref_value().is_bool(); | 526 location_service_pref_value().is_bool(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 553 prefs->RemoveManagedPref(prefs::kArcEnabled); | 554 prefs->RemoveManagedPref(prefs::kArcEnabled); |
| 554 WaitForDataRemoved(ArcSessionManager::State::STOPPED); | 555 WaitForDataRemoved(ArcSessionManager::State::STOPPED); |
| 555 arc_session_manager()->Shutdown(); | 556 arc_session_manager()->Shutdown(); |
| 556 } | 557 } |
| 557 | 558 |
| 558 TEST_P(ArcSessionManagerPolicyTest, ReenableManagedArc) { | 559 TEST_P(ArcSessionManagerPolicyTest, ReenableManagedArc) { |
| 559 sync_preferences::TestingPrefServiceSyncable* const prefs = | 560 sync_preferences::TestingPrefServiceSyncable* const prefs = |
| 560 profile()->GetTestingPrefService(); | 561 profile()->GetTestingPrefService(); |
| 561 | 562 |
| 562 // Set ARC to be managed. | 563 // Set ARC to be managed. |
| 563 prefs->SetManagedPref(prefs::kArcEnabled, new base::Value(true)); | 564 prefs->SetManagedPref(prefs::kArcEnabled, |
| 565 base::MakeUnique<base::Value>(true)); |
| 564 EXPECT_TRUE(arc::IsArcPlayStoreEnabledForProfile(profile())); | 566 EXPECT_TRUE(arc::IsArcPlayStoreEnabledForProfile(profile())); |
| 565 | 567 |
| 566 arc_session_manager()->SetProfile(profile()); | 568 arc_session_manager()->SetProfile(profile()); |
| 567 arc_session_manager()->RequestEnable(); | 569 arc_session_manager()->RequestEnable(); |
| 568 EXPECT_TRUE(arc_session_manager()->enable_requested()); | 570 EXPECT_TRUE(arc_session_manager()->enable_requested()); |
| 569 | 571 |
| 570 // Simulate close OptIn. Session manager should stop. | 572 // Simulate close OptIn. Session manager should stop. |
| 571 SetArcPlayStoreEnabledForProfile(profile(), false); | 573 SetArcPlayStoreEnabledForProfile(profile(), false); |
| 572 EXPECT_TRUE(arc::IsArcPlayStoreEnabledForProfile(profile())); | 574 EXPECT_TRUE(arc::IsArcPlayStoreEnabledForProfile(profile())); |
| 573 EXPECT_FALSE(arc_session_manager()->enable_requested()); | 575 EXPECT_FALSE(arc_session_manager()->enable_requested()); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 GetFakeUserManager()->set_current_user_new(true); | 687 GetFakeUserManager()->set_current_user_new(true); |
| 686 | 688 |
| 687 CreateLoginDisplayHost(); | 689 CreateLoginDisplayHost(); |
| 688 | 690 |
| 689 if (IsManagedUser()) { | 691 if (IsManagedUser()) { |
| 690 policy::ProfilePolicyConnector* const connector = | 692 policy::ProfilePolicyConnector* const connector = |
| 691 policy::ProfilePolicyConnectorFactory::GetForBrowserContext( | 693 policy::ProfilePolicyConnectorFactory::GetForBrowserContext( |
| 692 profile()); | 694 profile()); |
| 693 connector->OverrideIsManagedForTesting(true); | 695 connector->OverrideIsManagedForTesting(true); |
| 694 | 696 |
| 695 profile()->GetTestingPrefService()->SetManagedPref(prefs::kArcEnabled, | 697 profile()->GetTestingPrefService()->SetManagedPref( |
| 696 new base::Value(true)); | 698 prefs::kArcEnabled, base::MakeUnique<base::Value>(true)); |
| 697 } | 699 } |
| 698 | 700 |
| 699 arc_session_manager()->SetProfile(profile()); | 701 arc_session_manager()->SetProfile(profile()); |
| 700 if (IsArcPlayStoreEnabledForProfile(profile())) | 702 if (IsArcPlayStoreEnabledForProfile(profile())) |
| 701 arc_session_manager()->RequestEnable(); | 703 arc_session_manager()->RequestEnable(); |
| 702 } | 704 } |
| 703 | 705 |
| 704 void TearDown() override { | 706 void TearDown() override { |
| 705 // Correctly stop service. | 707 // Correctly stop service. |
| 706 arc_session_manager()->Shutdown(); | 708 arc_session_manager()->Shutdown(); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 // For managed case we handle closing outside of | 810 // For managed case we handle closing outside of |
| 809 // ArcPlayStoreEnabledPreferenceHandler. So it session turns to STOPPED. | 811 // ArcPlayStoreEnabledPreferenceHandler. So it session turns to STOPPED. |
| 810 EXPECT_EQ(ArcSessionManager::State::STOPPED, | 812 EXPECT_EQ(ArcSessionManager::State::STOPPED, |
| 811 arc_session_manager()->state()); | 813 arc_session_manager()->state()); |
| 812 // Managed user's preference should not be overwritten. | 814 // Managed user's preference should not be overwritten. |
| 813 EXPECT_TRUE(IsArcPlayStoreEnabledForProfile(profile())); | 815 EXPECT_TRUE(IsArcPlayStoreEnabledForProfile(profile())); |
| 814 } | 816 } |
| 815 } | 817 } |
| 816 | 818 |
| 817 } // namespace arc | 819 } // namespace arc |
| OLD | NEW |