OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ownership/owner_settings_service_chromeos.h" | 5 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <queue> | 8 #include <queue> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 typedef std::pair<std::string, linked_ptr<base::Value>> SetRequest; | 76 typedef std::pair<std::string, linked_ptr<base::Value>> SetRequest; |
77 std::queue<SetRequest> set_requests_; | 77 std::queue<SetRequest> set_requests_; |
78 | 78 |
79 DISALLOW_COPY_AND_ASSIGN(PrefsChecker); | 79 DISALLOW_COPY_AND_ASSIGN(PrefsChecker); |
80 }; | 80 }; |
81 | 81 |
82 bool FindInListValue(const std::string& needle, const base::Value* haystack) { | 82 bool FindInListValue(const std::string& needle, const base::Value* haystack) { |
83 const base::ListValue* list; | 83 const base::ListValue* list; |
84 if (!haystack->GetAsList(&list)) | 84 if (!haystack->GetAsList(&list)) |
85 return false; | 85 return false; |
86 return list->end() != list->Find(base::StringValue(needle)); | 86 return list->end() != list->Find(base::Value(needle)); |
87 } | 87 } |
88 | 88 |
89 } // namespace | 89 } // namespace |
90 | 90 |
91 class OwnerSettingsServiceChromeOSTest : public DeviceSettingsTestBase { | 91 class OwnerSettingsServiceChromeOSTest : public DeviceSettingsTestBase { |
92 public: | 92 public: |
93 OwnerSettingsServiceChromeOSTest() | 93 OwnerSettingsServiceChromeOSTest() |
94 : service_(nullptr), | 94 : service_(nullptr), |
95 local_state_(TestingBrowserProcess::GetGlobal()), | 95 local_state_(TestingBrowserProcess::GetGlobal()), |
96 user_data_dir_override_(chrome::DIR_USER_DATA), | 96 user_data_dir_override_(chrome::DIR_USER_DATA), |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 ScopedTestingLocalState local_state_; | 137 ScopedTestingLocalState local_state_; |
138 std::unique_ptr<DeviceSettingsProvider> provider_; | 138 std::unique_ptr<DeviceSettingsProvider> provider_; |
139 base::ScopedPathOverride user_data_dir_override_; | 139 base::ScopedPathOverride user_data_dir_override_; |
140 bool management_settings_set_; | 140 bool management_settings_set_; |
141 | 141 |
142 private: | 142 private: |
143 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSTest); | 143 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSTest); |
144 }; | 144 }; |
145 | 145 |
146 TEST_F(OwnerSettingsServiceChromeOSTest, SingleSetTest) { | 146 TEST_F(OwnerSettingsServiceChromeOSTest, SingleSetTest) { |
147 TestSingleSet(service_, kReleaseChannel, base::StringValue("dev-channel")); | 147 TestSingleSet(service_, kReleaseChannel, base::Value("dev-channel")); |
148 TestSingleSet(service_, kReleaseChannel, base::StringValue("beta-channel")); | 148 TestSingleSet(service_, kReleaseChannel, base::Value("beta-channel")); |
149 TestSingleSet(service_, kReleaseChannel, base::StringValue("stable-channel")); | 149 TestSingleSet(service_, kReleaseChannel, base::Value("stable-channel")); |
150 } | 150 } |
151 | 151 |
152 TEST_F(OwnerSettingsServiceChromeOSTest, MultipleSetTest) { | 152 TEST_F(OwnerSettingsServiceChromeOSTest, MultipleSetTest) { |
153 base::Value allow_guest(false); | 153 base::Value allow_guest(false); |
154 base::StringValue release_channel("stable-channel"); | 154 base::Value release_channel("stable-channel"); |
155 base::Value show_user_names(true); | 155 base::Value show_user_names(true); |
156 | 156 |
157 PrefsChecker checker(service_, provider_.get()); | 157 PrefsChecker checker(service_, provider_.get()); |
158 | 158 |
159 checker.Set(kAccountsPrefAllowGuest, allow_guest); | 159 checker.Set(kAccountsPrefAllowGuest, allow_guest); |
160 checker.Set(kReleaseChannel, release_channel); | 160 checker.Set(kReleaseChannel, release_channel); |
161 checker.Set(kAccountsPrefShowUserNamesOnSignIn, show_user_names); | 161 checker.Set(kAccountsPrefShowUserNamesOnSignIn, show_user_names); |
162 | 162 |
163 FlushDeviceSettings(); | 163 FlushDeviceSettings(); |
164 checker.Wait(); | 164 checker.Wait(); |
165 } | 165 } |
166 | 166 |
167 TEST_F(OwnerSettingsServiceChromeOSTest, FailedSetRequest) { | 167 TEST_F(OwnerSettingsServiceChromeOSTest, FailedSetRequest) { |
168 device_settings_test_helper_.set_store_result(false); | 168 device_settings_test_helper_.set_store_result(false); |
169 std::string current_channel; | 169 std::string current_channel; |
170 ASSERT_TRUE(provider_->Get(kReleaseChannel)->GetAsString(¤t_channel)); | 170 ASSERT_TRUE(provider_->Get(kReleaseChannel)->GetAsString(¤t_channel)); |
171 ASSERT_NE(current_channel, "stable-channel"); | 171 ASSERT_NE(current_channel, "stable-channel"); |
172 | 172 |
173 // Check that DeviceSettingsProvider's cache is updated. | 173 // Check that DeviceSettingsProvider's cache is updated. |
174 PrefsChecker checker(service_, provider_.get()); | 174 PrefsChecker checker(service_, provider_.get()); |
175 checker.Set(kReleaseChannel, base::StringValue("stable-channel")); | 175 checker.Set(kReleaseChannel, base::Value("stable-channel")); |
176 FlushDeviceSettings(); | 176 FlushDeviceSettings(); |
177 checker.Wait(); | 177 checker.Wait(); |
178 | 178 |
179 // Check that DeviceSettingsService's policy isn't updated. | 179 // Check that DeviceSettingsService's policy isn't updated. |
180 ASSERT_EQ(current_channel, device_settings_service_.device_settings() | 180 ASSERT_EQ(current_channel, device_settings_service_.device_settings() |
181 ->release_channel() | 181 ->release_channel() |
182 .release_channel()); | 182 .release_channel()); |
183 } | 183 } |
184 | 184 |
185 TEST_F(OwnerSettingsServiceChromeOSTest, ForceWhitelist) { | 185 TEST_F(OwnerSettingsServiceChromeOSTest, ForceWhitelist) { |
186 EXPECT_FALSE(FindInListValue(device_policy_.policy_data().username(), | 186 EXPECT_FALSE(FindInListValue(device_policy_.policy_data().username(), |
187 provider_->Get(kAccountsPrefUsers))); | 187 provider_->Get(kAccountsPrefUsers))); |
188 // Force a settings write. | 188 // Force a settings write. |
189 TestSingleSet(service_, kReleaseChannel, base::StringValue("dev-channel")); | 189 TestSingleSet(service_, kReleaseChannel, base::Value("dev-channel")); |
190 EXPECT_TRUE(FindInListValue(device_policy_.policy_data().username(), | 190 EXPECT_TRUE(FindInListValue(device_policy_.policy_data().username(), |
191 provider_->Get(kAccountsPrefUsers))); | 191 provider_->Get(kAccountsPrefUsers))); |
192 } | 192 } |
193 | 193 |
194 class OwnerSettingsServiceChromeOSNoOwnerTest | 194 class OwnerSettingsServiceChromeOSNoOwnerTest |
195 : public OwnerSettingsServiceChromeOSTest { | 195 : public OwnerSettingsServiceChromeOSTest { |
196 public: | 196 public: |
197 OwnerSettingsServiceChromeOSNoOwnerTest() {} | 197 OwnerSettingsServiceChromeOSNoOwnerTest() {} |
198 ~OwnerSettingsServiceChromeOSNoOwnerTest() override {} | 198 ~OwnerSettingsServiceChromeOSNoOwnerTest() override {} |
199 | 199 |
(...skipping 25 matching lines...) Expand all Loading... |
225 InitOwner(AccountId::FromUserEmail(device_policy_.policy_data().username()), | 225 InitOwner(AccountId::FromUserEmail(device_policy_.policy_data().username()), |
226 true); | 226 true); |
227 ReloadDeviceSettings(); | 227 ReloadDeviceSettings(); |
228 ASSERT_TRUE(service_->IsOwner()); | 228 ASSERT_TRUE(service_->IsOwner()); |
229 | 229 |
230 EXPECT_TRUE(FindInListValue(device_policy_.policy_data().username(), | 230 EXPECT_TRUE(FindInListValue(device_policy_.policy_data().username(), |
231 provider_->Get(kAccountsPrefUsers))); | 231 provider_->Get(kAccountsPrefUsers))); |
232 } | 232 } |
233 | 233 |
234 } // namespace chromeos | 234 } // namespace chromeos |
OLD | NEW |