Fix update over cellular network on guest account
Device policy is not loaded for guest account. When a user check for
update over cellular network, the update engine does not allow so.
Changes:
Allow updates over cellular in IsUpdateAllowedOver() if device policy is
not loaded, because this should be treated the same as device policy
having not update setting.
Overwrite decision made by IsUpdateAllowedOver() with user preferences
if device policy is not loaded or does not have update setting.
BUG=chromium:799185
TEST=ConnectionManagerTest.AllowUpdatesOver3GIfPolicyFailsToBeLoaded
Change-Id: Ica96384f87a07a03caafbe000ee62edf8132ce6d
Reviewed-on: https://chromium-review.googlesource.com/851733
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Weidong Guo <weidongg@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Sen Jiang <senj@chromium.org>
diff --git a/connection_manager_unittest.cc b/connection_manager_unittest.cc
index 547539b..0005b2e 100644
--- a/connection_manager_unittest.cc
+++ b/connection_manager_unittest.cc
@@ -334,6 +334,14 @@
ConnectionTethering::kUnknown));
}
+TEST_F(ConnectionManagerTest,
+ AllowUpdatesOverCellularIfPolicyFailsToBeLoaded) {
+ fake_system_state_.set_device_policy(nullptr);
+
+ EXPECT_TRUE(cmut_.IsUpdateAllowedOver(ConnectionType::kCellular,
+ ConnectionTethering::kUnknown));
+}
+
TEST_F(ConnectionManagerTest, StringForConnectionTypeTest) {
EXPECT_STREQ(shill::kTypeEthernet,
StringForConnectionType(ConnectionType::kEthernet));