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

Unified Diff: chrome/browser/chromeos/policy/device_status_collector_browsertest.cc

Issue 2736903004: Add sound volume to device attribute reporting (Closed)
Patch Set: Fixed tests (initialize CrasAudioHandler), added sound volume test 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
diff --git a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
index 20278f26830eaa218c2064365e81b95c67d84bfa..e539329b40c42795e8e979975547ee9f41ac2242 100644
--- a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
@@ -39,6 +39,7 @@
#include "chrome/test/base/chrome_unit_test_suite.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile_manager.h"
+#include "chromeos/audio/cras_audio_handler.h"
#include "chromeos/dbus/cros_disks_client.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/fake_update_engine_client.h"
@@ -345,6 +346,8 @@ class DeviceStatusCollectorTest : public testing::Test {
chromeos::DBusThreadManager::GetSetterForTesting();
dbus_setter->SetUpdateEngineClient(
base::WrapUnique<chromeos::UpdateEngineClient>(update_engine_client_));
+
+ chromeos::CrasAudioHandler::InitializeForTesting();
}
void AddMountPoint(const std::string& mount_point) {
@@ -356,6 +359,7 @@ class DeviceStatusCollectorTest : public testing::Test {
}
~DeviceStatusCollectorTest() override {
+ chromeos::CrasAudioHandler::Shutdown();
chromeos::KioskAppManager::Shutdown();
TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr);
@@ -1295,6 +1299,26 @@ TEST_F(DeviceStatusCollectorTest, ReportRunningKioskApp) {
EXPECT_FALSE(app.has_error());
}
+TEST_F(DeviceStatusCollectorTest, TestSoundVolume) {
+ // Expect the sound volume to be reported by default (default sound volume
+ // used in testing is 75).
+ GetStatus();
+ EXPECT_EQ(75, device_status_.sound_volume());
+
+ // When the pref to collect this data is not enabled, expect that the field
+ // isn't present in the protobuf.
+ settings_helper_.SetBoolean(chromeos::kReportSoundVolume, false);
+ GetStatus();
+ EXPECT_FALSE(device_status_.has_sound_volume());
+
+ // Try setting a custom volume value and check that it matches.
+ const int kCustomVolume = 42;
+ settings_helper_.SetBoolean(chromeos::kReportSoundVolume, true);
+ chromeos::CrasAudioHandler::Get()->SetOutputVolumePercent(kCustomVolume);
+ GetStatus();
+ EXPECT_EQ(kCustomVolume, device_status_.sound_volume());
+}
+
// Fake device state.
struct FakeDeviceData {
const char* device_path;

Powered by Google App Engine
This is Rietveld 408576698