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

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

Issue 1019283004: Switch to direct use of OwnerSettingsServiceChromeOS::Set() in tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rearrange device settings list. Created 5 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/heartbeat_scheduler_unittest.cc
diff --git a/chrome/browser/chromeos/policy/heartbeat_scheduler_unittest.cc b/chrome/browser/chromeos/policy/heartbeat_scheduler_unittest.cc
index 7a1a05cf2e78c6fd92f00cf933bec62f3e472967..8726d02f04480932af0e4fbb844cb0f49f84f49f 100644
--- a/chrome/browser/chromeos/policy/heartbeat_scheduler_unittest.cc
+++ b/chrome/browser/chromeos/policy/heartbeat_scheduler_unittest.cc
@@ -6,9 +6,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/test/test_simple_task_runner.h"
-#include "chrome/browser/chromeos/settings/cros_settings.h"
-#include "chrome/browser/chromeos/settings/device_settings_service.h"
-#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
+#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
#include "chromeos/settings/cros_settings_names.h"
#include "components/gcm_driver/fake_gcm_driver.h"
#include "content/public/test/test_utils.h"
@@ -54,7 +52,7 @@ class MockGCMDriver : public testing::StrictMock<gcm::FakeGCMDriver> {
}
};
-class HeartbeatSchedulerTest : public testing::Test {
+class HeartbeatSchedulerTest : public chromeos::OwnerSettingsTestBase {
Mattias Nissler (ping if slow) 2015/03/27 13:45:58 Instead of pulling in the heavy-weight full device
Ivan Podogov 2015/03/27 14:40:59 True, sometimes it's the only option left... Altho
Mattias Nissler (ping if slow) 2015/03/27 16:20:23 The boilerplate reduction is certainly great. Howe
Ivan Podogov 2015/03/30 08:54:28 OK, I guess I'll make such a class. Do you think w
Mattias Nissler (ping if slow) 2015/03/30 09:03:51 Judgement call, depends on how convenient it ends
Ivan Podogov 2015/03/30 09:10:23 I'm going to go over more than a dozen tests, and
Mattias Nissler (ping if slow) 2015/03/30 09:11:08 I'd say go a head and add them then :)
Ivan Podogov 2015/03/30 14:22:57 OK, so I suppose the new patchset should look more
public:
HeartbeatSchedulerTest()
: task_runner_(new base::TestSimpleTaskRunner()),
@@ -63,24 +61,13 @@ class HeartbeatSchedulerTest : public testing::Test {
}
void SetUp() override {
- // Swap out the DeviceSettingsProvider with our stub settings provider
- // so we can set values for the heartbeat frequency.
- chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get();
- device_settings_provider_ =
- cros_settings->GetProvider(chromeos::kReportDeviceVersionInfo);
- EXPECT_TRUE(device_settings_provider_);
- EXPECT_TRUE(
- cros_settings->RemoveSettingsProvider(device_settings_provider_));
- cros_settings->AddSettingsProvider(&stub_settings_provider_);
+ chromeos::OwnerSettingsTestBase::SetUp();
+ ReplaceProvider(chromeos::kHeartbeatEnabled);
}
void TearDown() override {
+ chromeos::OwnerSettingsTestBase::TearDown();
content::RunAllBlockingPoolTasksUntilIdle();
- // Restore the real DeviceSettingsProvider.
- chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get();
- EXPECT_TRUE(cros_settings->RemoveSettingsProvider(
- &stub_settings_provider_));
- cros_settings->AddSettingsProvider(device_settings_provider_);
}
void CheckPendingTaskDelay(base::Time last_heartbeat,
@@ -105,14 +92,6 @@ class HeartbeatSchedulerTest : public testing::Test {
EXPECT_GE(now - last_heartbeat, delta);
}
- base::MessageLoop loop_;
-
- // Helpers used to mock out cros settings.
- chromeos::ScopedTestDeviceSettingsService test_device_settings_service_;
- chromeos::ScopedTestCrosSettings test_cros_settings_;
- chromeos::CrosSettingsProvider* device_settings_provider_;
- chromeos::StubCrosSettingsProvider stub_settings_provider_;
-
MockGCMDriver gcm_driver_;
// TaskRunner used to run individual tests.
@@ -125,16 +104,14 @@ class HeartbeatSchedulerTest : public testing::Test {
TEST_F(HeartbeatSchedulerTest, Basic) {
// Just makes sure we can spin up and shutdown the scheduler with
// heartbeats disabled.
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, false);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, false);
ASSERT_TRUE(task_runner_->GetPendingTasks().empty());
}
TEST_F(HeartbeatSchedulerTest, PermanentlyFailedGCMRegistration) {
// If heartbeats are enabled, we should register with GCMDriver.
EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, true);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, true);
gcm_driver_.CompleteRegistration(
kHeartbeatGCMAppID, gcm::GCMClient::GCM_DISABLED);
@@ -144,8 +121,7 @@ TEST_F(HeartbeatSchedulerTest, PermanentlyFailedGCMRegistration) {
TEST_F(HeartbeatSchedulerTest, TemporarilyFailedGCMRegistration) {
EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, true);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, true);
gcm_driver_.CompleteRegistration(
kHeartbeatGCMAppID, gcm::GCMClient::SERVER_ERROR);
testing::Mock::VerifyAndClearExpectations(&gcm_driver_);
@@ -165,8 +141,7 @@ TEST_F(HeartbeatSchedulerTest, TemporarilyFailedGCMRegistration) {
TEST_F(HeartbeatSchedulerTest, ChangeHeartbeatFrequency) {
EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, true);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, true);
gcm_driver_.CompleteRegistration(
kHeartbeatGCMAppID, gcm::GCMClient::SUCCESS);
@@ -176,8 +151,7 @@ TEST_F(HeartbeatSchedulerTest, ChangeHeartbeatFrequency) {
testing::Mock::VerifyAndClearExpectations(&gcm_driver_);
const int new_delay = 1234*1000; // 1234 seconds.
- chromeos::CrosSettings::Get()->SetInteger(chromeos::kHeartbeatFrequency,
- new_delay);
+ owner_settings_service_->SetInteger(chromeos::kHeartbeatFrequency, new_delay);
// Now run pending heartbeat task, should send a heartbeat.
gcm::GCMClient::OutgoingMessage message;
EXPECT_CALL(gcm_driver_, SendImpl(kHeartbeatGCMAppID, _, _))
@@ -197,8 +171,7 @@ TEST_F(HeartbeatSchedulerTest, ChangeHeartbeatFrequency) {
TEST_F(HeartbeatSchedulerTest, DisableHeartbeats) {
// Makes sure that we can disable heartbeats on the fly.
EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, true);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, true);
gcm::GCMClient::OutgoingMessage message;
EXPECT_CALL(gcm_driver_, SendImpl(kHeartbeatGCMAppID, _, _))
.WillOnce(SaveArg<2>(&message));
@@ -221,8 +194,8 @@ TEST_F(HeartbeatSchedulerTest, DisableHeartbeats) {
testing::Mock::VerifyAndClearExpectations(&gcm_driver_);
// Now disable heartbeats. Should get no more heartbeats sent.
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, false);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, false);
+ EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
task_runner_->RunPendingTasks();
EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
}
@@ -232,8 +205,7 @@ TEST_F(HeartbeatSchedulerTest, CheckMessageContents) {
EXPECT_CALL(gcm_driver_, RegisterImpl(kHeartbeatGCMAppID, _));
EXPECT_CALL(gcm_driver_, SendImpl(kHeartbeatGCMAppID, _, _))
.WillOnce(SaveArg<2>(&message));
- chromeos::CrosSettings::Get()->SetBoolean(
- chromeos::kHeartbeatEnabled, true);
+ owner_settings_service_->SetBoolean(chromeos::kHeartbeatEnabled, true);
gcm_driver_.CompleteRegistration(
kHeartbeatGCMAppID, gcm::GCMClient::SUCCESS);
task_runner_->RunPendingTasks();

Powered by Google App Engine
This is Rietveld 408576698