Chromium Code Reviews| Index: chrome/browser/policy/device_token_fetcher_unittest.cc |
| diff --git a/chrome/browser/policy/device_token_fetcher_unittest.cc b/chrome/browser/policy/device_token_fetcher_unittest.cc |
| index a8ae3182dfde5789aa9685da794b3931099de0fe..927772c6c888ac09074a933255cb674139c7a856 100644 |
| --- a/chrome/browser/policy/device_token_fetcher_unittest.cc |
| +++ b/chrome/browser/policy/device_token_fetcher_unittest.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/policy/device_token_fetcher.h" |
| +#include "base/bind.h" |
| +#include "base/callback.h" |
| #include "base/message_loop.h" |
| #include "base/scoped_temp_dir.h" |
| #include "chrome/browser/policy/cloud_policy_data_store.h" |
| @@ -30,7 +32,8 @@ using testing::_; |
| class DeviceTokenFetcherTest : public testing::Test { |
| protected: |
| DeviceTokenFetcherTest() |
| - : ui_thread_(BrowserThread::UI, &loop_), |
| + : ready_callback_was_invoked_(false), |
| + ui_thread_(BrowserThread::UI, &loop_), |
| file_thread_(BrowserThread::FILE, &loop_) { |
| EXPECT_TRUE(temp_user_data_dir_.CreateUniqueTempDir()); |
| successful_registration_response_.mutable_register_response()-> |
| @@ -40,7 +43,8 @@ class DeviceTokenFetcherTest : public testing::Test { |
| virtual void SetUp() { |
| cache_.reset(new UserPolicyCache( |
| temp_user_data_dir_.path().AppendASCII("DeviceTokenFetcherTest"), |
| - false /* wait_for_policy_fetch */)); |
| + false, /* wait_for_policy_fetch */ |
| + base::Closure() /* ready_callback */)); |
| EXPECT_CALL(service_, StartJob(_)).Times(AnyNumber()); |
| data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies()); |
| data_store_->AddObserver(&observer_); |
| @@ -58,15 +62,23 @@ class DeviceTokenFetcherTest : public testing::Test { |
| } |
| void CreateNewWaitingCache() { |
| + ready_callback_was_invoked_ = false; |
| cache_.reset(new UserPolicyCache( |
| temp_user_data_dir_.path().AppendASCII("DeviceTokenFetcherTest"), |
| - true /* wait_for_policy_fetch */)); |
| + true, /* wait_for_policy_fetch */ |
| + base::Bind(&DeviceTokenFetcherTest::ReadyCallback, |
| + base::Unretained(this)))); |
| // Make this cache's disk cache ready, but have it still waiting for a |
| // policy fetch. |
| cache_->Load(); |
| loop_.RunAllPending(); |
| ASSERT_TRUE(cache_->last_policy_refresh_time().is_null()); |
| ASSERT_FALSE(cache_->IsReady()); |
| + ASSERT_FALSE(ready_callback_was_invoked_); |
| + } |
| + |
| + void ReadyCallback() { |
|
Mattias Nissler (ping if slow)
2012/02/16 10:24:11
ditto
|
| + ready_callback_was_invoked_ = true; |
| } |
| MessageLoop loop_; |
| @@ -77,6 +89,7 @@ class DeviceTokenFetcherTest : public testing::Test { |
| PolicyNotifier notifier_; |
| ScopedTempDir temp_user_data_dir_; |
| em::DeviceManagementResponse successful_registration_response_; |
| + bool ready_callback_was_invoked_; |
| private: |
| content::TestBrowserThread ui_thread_; |
| @@ -163,6 +176,7 @@ TEST_F(DeviceTokenFetcherTest, DontSetFetchingDone) { |
| DeviceTokenFetcher fetcher(&service_, cache_.get(), data_store_.get(), |
| ¬ifier_); |
| EXPECT_FALSE(cache_->IsReady()); |
| + EXPECT_FALSE(ready_callback_was_invoked_); |
| } |
| TEST_F(DeviceTokenFetcherTest, DontSetFetchingDoneWithoutPolicyFetch) { |
| @@ -179,6 +193,7 @@ TEST_F(DeviceTokenFetcherTest, DontSetFetchingDoneWithoutPolicyFetch) { |
| // step is to fetch policy. Only failures to fetch the token should make |
| // the cache ready. |
| EXPECT_FALSE(cache_->IsReady()); |
| + EXPECT_FALSE(ready_callback_was_invoked_); |
| } |
| TEST_F(DeviceTokenFetcherTest, SetFetchingDoneWhenUnmanaged) { |
| @@ -187,6 +202,7 @@ TEST_F(DeviceTokenFetcherTest, SetFetchingDoneWhenUnmanaged) { |
| DeviceTokenFetcher fetcher(&service_, cache_.get(), data_store_.get(), |
| ¬ifier_); |
| EXPECT_TRUE(cache_->IsReady()); |
| + EXPECT_TRUE(ready_callback_was_invoked_); |
| } |
| TEST_F(DeviceTokenFetcherTest, SetFetchingDoneOnFailures) { |
| @@ -200,6 +216,7 @@ TEST_F(DeviceTokenFetcherTest, SetFetchingDoneOnFailures) { |
| loop_.RunAllPending(); |
| // This is the opposite case of DontSetFetchingDone1. |
| EXPECT_TRUE(cache_->IsReady()); |
| + EXPECT_TRUE(ready_callback_was_invoked_); |
| } |
| TEST_F(DeviceTokenFetcherTest, SetKnownMachineId) { |