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

Side by Side Diff: chrome/browser/chromeos/policy/device_status_collector_browsertest.cc

Issue 2736903004: Add sound volume to device attribute reporting (Closed)
Patch Set: Simplified - bundling sound volume together with hardware status Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 21 matching lines...) Expand all
32 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 32 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
33 #include "chrome/browser/chromeos/policy/device_local_account.h" 33 #include "chrome/browser/chromeos/policy/device_local_account.h"
34 #include "chrome/browser/chromeos/profiles/profile_helper.h" 34 #include "chrome/browser/chromeos/profiles/profile_helper.h"
35 #include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h" 35 #include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h"
36 #include "chrome/browser/chromeos/settings/stub_install_attributes.h" 36 #include "chrome/browser/chromeos/settings/stub_install_attributes.h"
37 #include "chrome/common/chrome_paths.h" 37 #include "chrome/common/chrome_paths.h"
38 #include "chrome/common/pref_names.h" 38 #include "chrome/common/pref_names.h"
39 #include "chrome/test/base/chrome_unit_test_suite.h" 39 #include "chrome/test/base/chrome_unit_test_suite.h"
40 #include "chrome/test/base/testing_browser_process.h" 40 #include "chrome/test/base/testing_browser_process.h"
41 #include "chrome/test/base/testing_profile_manager.h" 41 #include "chrome/test/base/testing_profile_manager.h"
42 #include "chromeos/audio/cras_audio_handler.h"
42 #include "chromeos/dbus/cros_disks_client.h" 43 #include "chromeos/dbus/cros_disks_client.h"
43 #include "chromeos/dbus/dbus_thread_manager.h" 44 #include "chromeos/dbus/dbus_thread_manager.h"
44 #include "chromeos/dbus/fake_update_engine_client.h" 45 #include "chromeos/dbus/fake_update_engine_client.h"
45 #include "chromeos/dbus/shill_device_client.h" 46 #include "chromeos/dbus/shill_device_client.h"
46 #include "chromeos/dbus/shill_ipconfig_client.h" 47 #include "chromeos/dbus/shill_ipconfig_client.h"
47 #include "chromeos/dbus/shill_service_client.h" 48 #include "chromeos/dbus/shill_service_client.h"
48 #include "chromeos/disks/disk_mount_manager.h" 49 #include "chromeos/disks/disk_mount_manager.h"
49 #include "chromeos/disks/mock_disk_mount_manager.h" 50 #include "chromeos/disks/mock_disk_mount_manager.h"
50 #include "chromeos/network/network_handler.h" 51 #include "chromeos/network/network_handler.h"
51 #include "chromeos/network/network_state.h" 52 #include "chromeos/network/network_state.h"
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 339
339 // Set up a fake local state for KioskAppManager. 340 // Set up a fake local state for KioskAppManager.
340 TestingBrowserProcess::GetGlobal()->SetLocalState(&local_state_); 341 TestingBrowserProcess::GetGlobal()->SetLocalState(&local_state_);
341 chromeos::KioskAppManager::RegisterPrefs(local_state_.registry()); 342 chromeos::KioskAppManager::RegisterPrefs(local_state_.registry());
342 343
343 // Use FakeUpdateEngineClient. 344 // Use FakeUpdateEngineClient.
344 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = 345 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter =
345 chromeos::DBusThreadManager::GetSetterForTesting(); 346 chromeos::DBusThreadManager::GetSetterForTesting();
346 dbus_setter->SetUpdateEngineClient( 347 dbus_setter->SetUpdateEngineClient(
347 base::WrapUnique<chromeos::UpdateEngineClient>(update_engine_client_)); 348 base::WrapUnique<chromeos::UpdateEngineClient>(update_engine_client_));
349
350 chromeos::CrasAudioHandler::InitializeForTesting();
348 } 351 }
349 352
350 void AddMountPoint(const std::string& mount_point) { 353 void AddMountPoint(const std::string& mount_point) {
351 mount_point_map_.insert(DiskMountManager::MountPointMap::value_type( 354 mount_point_map_.insert(DiskMountManager::MountPointMap::value_type(
352 mount_point, 355 mount_point,
353 DiskMountManager::MountPointInfo( 356 DiskMountManager::MountPointInfo(
354 mount_point, mount_point, chromeos::MOUNT_TYPE_DEVICE, 357 mount_point, mount_point, chromeos::MOUNT_TYPE_DEVICE,
355 chromeos::disks::MOUNT_CONDITION_NONE))); 358 chromeos::disks::MOUNT_CONDITION_NONE)));
356 } 359 }
357 360
358 ~DeviceStatusCollectorTest() override { 361 ~DeviceStatusCollectorTest() override {
362 chromeos::CrasAudioHandler::Shutdown();
359 chromeos::KioskAppManager::Shutdown(); 363 chromeos::KioskAppManager::Shutdown();
360 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); 364 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr);
361 365
362 // Finish pending tasks. 366 // Finish pending tasks.
363 content::BrowserThread::GetBlockingPool()->FlushForTesting(); 367 content::BrowserThread::GetBlockingPool()->FlushForTesting();
364 base::RunLoop().RunUntilIdle(); 368 base::RunLoop().RunUntilIdle();
365 storage::ExternalMountPoints::GetSystemInstance()->RevokeAllFileSystems(); 369 storage::ExternalMountPoints::GetSystemInstance()->RevokeAllFileSystems();
366 DiskMountManager::Shutdown(); 370 DiskMountManager::Shutdown();
367 } 371 }
368 372
(...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 1292
1289 GetStatus(); 1293 GetStatus();
1290 ASSERT_TRUE(device_status_.has_running_kiosk_app()); 1294 ASSERT_TRUE(device_status_.has_running_kiosk_app());
1291 const em::AppStatus app = device_status_.running_kiosk_app(); 1295 const em::AppStatus app = device_status_.running_kiosk_app();
1292 EXPECT_EQ(kKioskAppId, app.app_id()); 1296 EXPECT_EQ(kKioskAppId, app.app_id());
1293 EXPECT_EQ("1235", app.required_platform_version()); 1297 EXPECT_EQ("1235", app.required_platform_version());
1294 EXPECT_FALSE(app.has_status()); 1298 EXPECT_FALSE(app.has_status());
1295 EXPECT_FALSE(app.has_error()); 1299 EXPECT_FALSE(app.has_error());
1296 } 1300 }
1297 1301
1302 TEST_F(DeviceStatusCollectorTest, TestSoundVolume) {
1303 // Expect the sound volume to be reported by default (default sound volume
1304 // used in testing is 75).
1305 GetStatus();
1306 EXPECT_EQ(75, device_status_.sound_volume());
1307
1308 // When the pref to collect this data is not enabled, expect that the field
1309 // isn't present in the protobuf.
1310 settings_helper_.SetBoolean(chromeos::kReportDeviceHardwareStatus, false);
1311 GetStatus();
1312 EXPECT_FALSE(device_status_.has_sound_volume());
1313
1314 // Try setting a custom volume value and check that it matches.
1315 const int kCustomVolume = 42;
1316 settings_helper_.SetBoolean(chromeos::kReportDeviceHardwareStatus, true);
1317 chromeos::CrasAudioHandler::Get()->SetOutputVolumePercent(kCustomVolume);
1318 GetStatus();
1319 EXPECT_EQ(kCustomVolume, device_status_.sound_volume());
1320 }
1321
1298 // Fake device state. 1322 // Fake device state.
1299 struct FakeDeviceData { 1323 struct FakeDeviceData {
1300 const char* device_path; 1324 const char* device_path;
1301 const char* type; 1325 const char* type;
1302 const char* object_path; 1326 const char* object_path;
1303 const char* mac_address; 1327 const char* mac_address;
1304 const char* meid; 1328 const char* meid;
1305 const char* imei; 1329 const char* imei;
1306 int expected_type; // proto enum type value, -1 for not present. 1330 int expected_type; // proto enum type value, -1 for not present.
1307 }; 1331 };
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
1590 AccountId::FromUserEmail(kPublicAccountId)); 1614 AccountId::FromUserEmail(kPublicAccountId));
1591 EXPECT_CALL(*user_manager_, IsLoggedInAsPublicAccount()) 1615 EXPECT_CALL(*user_manager_, IsLoggedInAsPublicAccount())
1592 .WillRepeatedly(Return(true)); 1616 .WillRepeatedly(Return(true));
1593 1617
1594 settings_helper_.SetBoolean(chromeos::kReportDeviceNetworkInterfaces, true); 1618 settings_helper_.SetBoolean(chromeos::kReportDeviceNetworkInterfaces, true);
1595 GetStatus(); 1619 GetStatus();
1596 VerifyNetworkReporting(); 1620 VerifyNetworkReporting();
1597 } 1621 }
1598 1622
1599 } // namespace policy 1623 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/policy/device_status_collector.cc ('k') | components/policy/proto/device_management_backend.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698