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

Unified Diff: chrome/browser/chromeos/arc/arc_util_unittest.cc

Issue 2890843002: Policy implementation for encryptfs to ext4 migration strategy (Closed)
Patch Set: Merge done Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/arc/arc_util.cc ('k') | chrome/browser/chromeos/login/existing_user_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/arc/arc_util_unittest.cc
diff --git a/chrome/browser/chromeos/arc/arc_util_unittest.cc b/chrome/browser/chromeos/arc/arc_util_unittest.cc
index 8b42a2bd09299ed01e9bd788c2d6fec41c4131ef..7f330315b1eb4da2eddae865235a8ceafa35a74b 100644
--- a/chrome/browser/chromeos/arc/arc_util_unittest.cc
+++ b/chrome/browser/chromeos/arc/arc_util_unittest.cc
@@ -17,10 +17,14 @@
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
+#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/chromeos/settings/device_settings_service.h"
+#include "chrome/browser/chromeos/settings/install_attributes.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
+#include "components/policy/core/common/cloud/cloud_policy_constants.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/testing_pref_service.h"
#include "components/signin/core/account_id/account_id.h"
@@ -88,6 +92,22 @@ class ScopedLogIn {
DISALLOW_COPY_AND_ASSIGN(ScopedLogIn);
};
+class FakeInstallAttributesManaged : public chromeos::InstallAttributes {
+ public:
+ FakeInstallAttributesManaged() : chromeos::InstallAttributes(nullptr) {
+ device_locked_ = true;
+ }
+
+ ~FakeInstallAttributesManaged() {
+ policy::BrowserPolicyConnectorChromeOS::RemoveInstallAttributesForTesting();
+ }
+
+ void SetIsManaged(bool is_managed) {
+ registration_mode_ = is_managed ? policy::DEVICE_MODE_ENTERPRISE
+ : policy::DEVICE_MODE_CONSUMER;
+ }
+};
+
class FakeUserManagerWithLocalState : public chromeos::FakeChromeUserManager {
public:
FakeUserManagerWithLocalState()
@@ -490,5 +510,44 @@ TEST_F(ChromeArcUtilTest, IsActiveDirectoryUserForProfile_AD) {
EXPECT_TRUE(IsActiveDirectoryUserForProfile(profile()));
}
+class ArcMigrationTest : public testing::Test {
+ protected:
+ ArcMigrationTest() {
+ auto attributes = base::MakeUnique<FakeInstallAttributesManaged>();
+ attributes_ = attributes.get();
+ policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
+ attributes.release());
+ }
+ ~ArcMigrationTest() override {}
+
+ void SetUp() override { chromeos::DeviceSettingsService::Initialize(); }
+
+ void TearDown() override { chromeos::DeviceSettingsService::Shutdown(); }
+
+ void SetDeviceIsEnterpriseManaged(bool is_managed) {
+ attributes_->SetIsManaged(is_managed);
+ }
+
+ FakeInstallAttributesManaged* attributes_;
+};
+
+TEST_F(ArcMigrationTest, IsMigrationAllowedConsumerOwned) {
+ ResetArcMigrationAllowedForTesting();
+ auto* const command_line = base::CommandLine::ForCurrentProcess();
+ command_line->InitFromArgv({"", "--need-arc-migration-policy-check",
+ "--arc-availability=officially-supported"});
+ SetDeviceIsEnterpriseManaged(false);
+ EXPECT_TRUE(IsArcMigrationAllowed());
+}
+
+TEST_F(ArcMigrationTest, IsMigrationAllowedNoPolicy) {
+ ResetArcMigrationAllowedForTesting();
+ auto* const command_line = base::CommandLine::ForCurrentProcess();
+ command_line->InitFromArgv({"", "--need-arc-migration-policy-check",
+ "--arc-availability=officially-supported"});
+ SetDeviceIsEnterpriseManaged(true);
+ EXPECT_FALSE(IsArcMigrationAllowed());
+}
+
} // namespace util
} // namespace arc
« no previous file with comments | « chrome/browser/chromeos/arc/arc_util.cc ('k') | chrome/browser/chromeos/login/existing_user_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698