| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/policy/device_status_collector.h" | 5 #include "chrome/browser/chromeos/policy/device_status_collector.h" |
| 6 | 6 |
| 7 #include "base/environment.h" | 7 #include "base/environment.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 | 145 |
| 146 // Though it is a unit test, this test is linked with browser_tests so that it | 146 // Though it is a unit test, this test is linked with browser_tests so that it |
| 147 // runs in a separate process. The intention is to avoid overriding the timezone | 147 // runs in a separate process. The intention is to avoid overriding the timezone |
| 148 // environment variable for other tests. | 148 // environment variable for other tests. |
| 149 class DeviceStatusCollectorTest : public testing::Test { | 149 class DeviceStatusCollectorTest : public testing::Test { |
| 150 public: | 150 public: |
| 151 DeviceStatusCollectorTest() | 151 DeviceStatusCollectorTest() |
| 152 : ui_thread_(content::BrowserThread::UI, &message_loop_), | 152 : ui_thread_(content::BrowserThread::UI, &message_loop_), |
| 153 file_thread_(content::BrowserThread::FILE, &message_loop_), | 153 file_thread_(content::BrowserThread::FILE, &message_loop_), |
| 154 io_thread_(content::BrowserThread::IO, &message_loop_), | 154 io_thread_(content::BrowserThread::IO, &message_loop_), |
| 155 install_attributes_("managed.com", |
| 156 "user@managed.com", |
| 157 "device_id", |
| 158 DEVICE_MODE_ENTERPRISE), |
| 155 user_manager_(new chromeos::MockUserManager()), | 159 user_manager_(new chromeos::MockUserManager()), |
| 156 user_manager_enabler_(user_manager_) { | 160 user_manager_enabler_(user_manager_) { |
| 157 // Run this test with a well-known timezone so that Time::LocalMidnight() | 161 // Run this test with a well-known timezone so that Time::LocalMidnight() |
| 158 // returns the same values on all machines. | 162 // returns the same values on all machines. |
| 159 scoped_ptr<base::Environment> env(base::Environment::Create()); | 163 scoped_ptr<base::Environment> env(base::Environment::Create()); |
| 160 env->SetVar("TZ", "UTC"); | 164 env->SetVar("TZ", "UTC"); |
| 161 | 165 |
| 162 TestingDeviceStatusCollector::RegisterPrefs(prefs_.registry()); | 166 TestingDeviceStatusCollector::RegisterPrefs(prefs_.registry()); |
| 163 | 167 |
| 164 EXPECT_CALL(statistics_provider_, GetMachineStatistic(_, NotNull())) | 168 EXPECT_CALL(statistics_provider_, GetMachineStatistic(_, NotNull())) |
| 165 .WillRepeatedly(Return(false)); | 169 .WillRepeatedly(Return(false)); |
| 166 | 170 |
| 167 // Remove the real DeviceSettingsProvider and replace it with a stub. | 171 // Remove the real DeviceSettingsProvider and replace it with a stub. |
| 168 cros_settings_ = chromeos::CrosSettings::Get(); | 172 cros_settings_ = chromeos::CrosSettings::Get(); |
| 169 device_settings_provider_ = | 173 device_settings_provider_ = |
| 170 cros_settings_->GetProvider(chromeos::kReportDeviceVersionInfo); | 174 cros_settings_->GetProvider(chromeos::kReportDeviceVersionInfo); |
| 171 EXPECT_TRUE(device_settings_provider_ != NULL); | 175 EXPECT_TRUE(device_settings_provider_ != NULL); |
| 172 EXPECT_TRUE( | 176 EXPECT_TRUE( |
| 173 cros_settings_->RemoveSettingsProvider(device_settings_provider_)); | 177 cros_settings_->RemoveSettingsProvider(device_settings_provider_)); |
| 174 cros_settings_->AddSettingsProvider(&stub_settings_provider_); | 178 cros_settings_->AddSettingsProvider(&stub_settings_provider_); |
| 175 | 179 |
| 176 // Set up fake install attributes. | |
| 177 StubEnterpriseInstallAttributes* attributes = | |
| 178 new StubEnterpriseInstallAttributes(); | |
| 179 attributes->SetDomain("managed.com"); | |
| 180 attributes->SetRegistrationUser("user@managed.com"); | |
| 181 BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(attributes); | |
| 182 | |
| 183 RestartStatusCollector(); | 180 RestartStatusCollector(); |
| 184 } | 181 } |
| 185 | 182 |
| 186 virtual ~DeviceStatusCollectorTest() { | 183 virtual ~DeviceStatusCollectorTest() { |
| 187 // Finish pending tasks. | 184 // Finish pending tasks. |
| 188 content::BrowserThread::GetBlockingPool()->FlushForTesting(); | 185 content::BrowserThread::GetBlockingPool()->FlushForTesting(); |
| 189 message_loop_.RunUntilIdle(); | 186 message_loop_.RunUntilIdle(); |
| 190 | 187 |
| 191 // Restore the real DeviceSettingsProvider. | 188 // Restore the real DeviceSettingsProvider. |
| 192 EXPECT_TRUE( | 189 EXPECT_TRUE( |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 } | 251 } |
| 255 | 252 |
| 256 // Since this is a unit test running in browser_tests we must do additional | 253 // Since this is a unit test running in browser_tests we must do additional |
| 257 // unit test setup and make a TestingBrowserProcess. Must be first member. | 254 // unit test setup and make a TestingBrowserProcess. Must be first member. |
| 258 TestingBrowserProcessInitializer initializer_; | 255 TestingBrowserProcessInitializer initializer_; |
| 259 base::MessageLoopForUI message_loop_; | 256 base::MessageLoopForUI message_loop_; |
| 260 content::TestBrowserThread ui_thread_; | 257 content::TestBrowserThread ui_thread_; |
| 261 content::TestBrowserThread file_thread_; | 258 content::TestBrowserThread file_thread_; |
| 262 content::TestBrowserThread io_thread_; | 259 content::TestBrowserThread io_thread_; |
| 263 | 260 |
| 261 ScopedStubEnterpriseInstallAttributes install_attributes_; |
| 264 TestingPrefServiceSimple prefs_; | 262 TestingPrefServiceSimple prefs_; |
| 265 chromeos::system::MockStatisticsProvider statistics_provider_; | 263 chromeos::system::MockStatisticsProvider statistics_provider_; |
| 266 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; | 264 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; |
| 267 chromeos::ScopedTestCrosSettings test_cros_settings_; | 265 chromeos::ScopedTestCrosSettings test_cros_settings_; |
| 268 chromeos::CrosSettings* cros_settings_; | 266 chromeos::CrosSettings* cros_settings_; |
| 269 chromeos::CrosSettingsProvider* device_settings_provider_; | 267 chromeos::CrosSettingsProvider* device_settings_provider_; |
| 270 chromeos::StubCrosSettingsProvider stub_settings_provider_; | 268 chromeos::StubCrosSettingsProvider stub_settings_provider_; |
| 271 chromeos::MockUserManager* user_manager_; | 269 chromeos::MockUserManager* user_manager_; |
| 272 chromeos::ScopedUserManagerEnabler user_manager_enabler_; | 270 chromeos::ScopedUserManagerEnabler user_manager_enabler_; |
| 273 em::DeviceStatusReportRequest status_; | 271 em::DeviceStatusReportRequest status_; |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 767 } | 765 } |
| 768 | 766 |
| 769 EXPECT_TRUE(found_match) << "No matching interface for fake device " << i; | 767 EXPECT_TRUE(found_match) << "No matching interface for fake device " << i; |
| 770 count++; | 768 count++; |
| 771 } | 769 } |
| 772 | 770 |
| 773 EXPECT_EQ(count, status_.network_interface_size()); | 771 EXPECT_EQ(count, status_.network_interface_size()); |
| 774 } | 772 } |
| 775 | 773 |
| 776 } // namespace policy | 774 } // namespace policy |
| OLD | NEW |