Chromium Code Reviews| 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 <queue> | 5 #include <queue> |
| 6 #include <utility> | 6 #include <utility> |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/linked_ptr.h" | 9 #include "base/memory/linked_ptr.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 116 PrefsChecker checker(service, provider_.get()); | 116 PrefsChecker checker(service, provider_.get()); |
| 117 checker.Set(setting, in_value); | 117 checker.Set(setting, in_value); |
| 118 FlushDeviceSettings(); | 118 FlushDeviceSettings(); |
| 119 checker.Wait(); | 119 checker.Wait(); |
| 120 } | 120 } |
| 121 | 121 |
| 122 void OnManagementSettingsSet(bool success) { | 122 void OnManagementSettingsSet(bool success) { |
| 123 management_settings_set_ = success; | 123 management_settings_set_ = success; |
| 124 } | 124 } |
| 125 | 125 |
| 126 protected: | |
| 126 OwnerSettingsServiceChromeOS* service_; | 127 OwnerSettingsServiceChromeOS* service_; |
| 127 ScopedTestingLocalState local_state_; | 128 ScopedTestingLocalState local_state_; |
| 128 scoped_ptr<DeviceSettingsProvider> provider_; | 129 scoped_ptr<DeviceSettingsProvider> provider_; |
| 129 base::ScopedPathOverride user_data_dir_override_; | 130 base::ScopedPathOverride user_data_dir_override_; |
| 130 bool management_settings_set_; | 131 bool management_settings_set_; |
| 131 | 132 |
| 132 private: | 133 private: |
| 133 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSTest); | 134 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSTest); |
| 134 }; | 135 }; |
| 135 | 136 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 287 // Check that the loaded policy_data contains the expected values. | 288 // Check that the loaded policy_data contains the expected values. |
| 288 const em::PolicyData* policy_data = device_settings_service_.policy_data(); | 289 const em::PolicyData* policy_data = device_settings_service_.policy_data(); |
| 289 EXPECT_EQ(policy::dm_protocol::kChromeDevicePolicyType, | 290 EXPECT_EQ(policy::dm_protocol::kChromeDevicePolicyType, |
| 290 policy_data->policy_type()); | 291 policy_data->policy_type()); |
| 291 EXPECT_EQ(device_settings_service_.GetUsername(), policy_data->username()); | 292 EXPECT_EQ(device_settings_service_.GetUsername(), policy_data->username()); |
| 292 EXPECT_EQ(em::PolicyData::CONSUMER_MANAGED, policy_data->management_mode()); | 293 EXPECT_EQ(em::PolicyData::CONSUMER_MANAGED, policy_data->management_mode()); |
| 293 EXPECT_EQ("fake_request_token", policy_data->request_token()); | 294 EXPECT_EQ("fake_request_token", policy_data->request_token()); |
| 294 EXPECT_EQ("fake_device_id", policy_data->device_id()); | 295 EXPECT_EQ("fake_device_id", policy_data->device_id()); |
| 295 } | 296 } |
| 296 | 297 |
| 298 namespace { | |
| 299 bool FindInListValue(const std::string& needle, const base::Value* haystack) { | |
|
Mattias Nissler (ping if slow)
2015/03/18 08:36:42
int: We'd usually put these helpers in the anonymo
Chris Masone
2015/03/24 20:53:37
Done.
| |
| 300 const base::ListValue* list; | |
| 301 if (!haystack->GetAsList(&list)) | |
| 302 return false; | |
| 303 return list->end() != list->Find(base::StringValue(needle)); | |
| 304 } | |
| 305 } // namespace | |
| 306 | |
| 307 TEST_F(OwnerSettingsServiceChromeOSTest, ForceWhitelist) { | |
| 308 EXPECT_FALSE(FindInListValue(device_policy_.policy_data().username(), | |
| 309 provider_->Get(kAccountsPrefUsers))); | |
| 310 // Force a settings write. | |
| 311 TestSingleSet(service_, kReleaseChannel, base::StringValue("dev-channel")); | |
| 312 EXPECT_TRUE(FindInListValue(device_policy_.policy_data().username(), | |
| 313 provider_->Get(kAccountsPrefUsers))); | |
| 314 } | |
|
Mattias Nissler (ping if slow)
2015/03/18 08:36:42
Would be good to have an additional test case that
Chris Masone
2015/03/20 19:13:11
ANy pointers on how to drive that transition in a
Mattias Nissler (ping if slow)
2015/03/24 12:03:11
OwnerSettingsServiceChromeOSTest::Setup() above ca
| |
| 315 | |
| 297 class OwnerSettingsServiceChromeOSNoOwnerTest | 316 class OwnerSettingsServiceChromeOSNoOwnerTest |
| 298 : public OwnerSettingsServiceChromeOSTest { | 317 : public OwnerSettingsServiceChromeOSTest { |
| 299 public: | 318 public: |
| 300 OwnerSettingsServiceChromeOSNoOwnerTest() {} | 319 OwnerSettingsServiceChromeOSNoOwnerTest() {} |
| 301 ~OwnerSettingsServiceChromeOSNoOwnerTest() override {} | 320 ~OwnerSettingsServiceChromeOSNoOwnerTest() override {} |
| 302 | 321 |
| 303 void SetUp() override { | 322 void SetUp() override { |
| 304 DeviceSettingsTestBase::SetUp(); | 323 DeviceSettingsTestBase::SetUp(); |
| 305 provider_.reset(new DeviceSettingsProvider(base::Bind(&OnPrefChanged), | 324 provider_.reset(new DeviceSettingsProvider(base::Bind(&OnPrefChanged), |
| 306 &device_settings_service_)); | 325 &device_settings_service_)); |
| 307 FlushDeviceSettings(); | 326 FlushDeviceSettings(); |
| 308 service_ = OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( | 327 service_ = OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( |
| 309 profile_.get()); | 328 profile_.get()); |
| 310 ASSERT_TRUE(service_); | 329 ASSERT_TRUE(service_); |
| 311 ASSERT_FALSE(service_->IsOwner()); | 330 ASSERT_FALSE(service_->IsOwner()); |
| 312 } | 331 } |
| 313 | 332 |
| 314 void TearDown() override { DeviceSettingsTestBase::TearDown(); } | 333 void TearDown() override { DeviceSettingsTestBase::TearDown(); } |
| 315 | 334 |
| 316 private: | 335 private: |
| 317 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSNoOwnerTest); | 336 DISALLOW_COPY_AND_ASSIGN(OwnerSettingsServiceChromeOSNoOwnerTest); |
| 318 }; | 337 }; |
| 319 | 338 |
| 320 TEST_F(OwnerSettingsServiceChromeOSNoOwnerTest, SingleSetTest) { | 339 TEST_F(OwnerSettingsServiceChromeOSNoOwnerTest, SingleSetTest) { |
| 321 ASSERT_FALSE(service_->SetBoolean(kAccountsPrefAllowGuest, false)); | 340 ASSERT_FALSE(service_->SetBoolean(kAccountsPrefAllowGuest, false)); |
| 322 } | 341 } |
| 323 | 342 |
| 324 } // namespace chromeos | 343 } // namespace chromeos |
| OLD | NEW |