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 0f9826adb4d8d55e396ac1a4d7adaa27c32824a1..65c20a56424653587945b1b809e67a9ab464f225 100644 |
| --- a/chrome/browser/policy/device_token_fetcher_unittest.cc |
| +++ b/chrome/browser/policy/device_token_fetcher_unittest.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/message_loop.h" |
| #include "base/scoped_temp_dir.h" |
| #include "chrome/browser/net/gaia/token_service.h" |
|
Joao da Silva
2011/07/06 16:45:14
Nit: token_service.h not used
gfeher
2011/07/07 13:51:00
Done.
|
| +#include "chrome/browser/policy/cloud_policy_data.h" |
| #include "chrome/browser/policy/device_management_service.h" |
|
Joao da Silva
2011/07/06 16:45:14
Nit: device_management_service.h not used
gfeher
2011/07/07 13:51:00
Done.
|
| #include "chrome/browser/policy/logging_work_scheduler.h" |
| #include "chrome/browser/policy/mock_device_management_backend.h" |
| @@ -28,12 +29,14 @@ const char kTestToken[] = "device_token_fetcher_test_auth_token"; |
| using testing::_; |
| using testing::Mock; |
| -class MockTokenAvailableObserver : public DeviceTokenFetcher::Observer { |
| +class MockTokenAvailableObserver : public CloudPolicyData::Observer { |
| public: |
| MockTokenAvailableObserver() {} |
| virtual ~MockTokenAvailableObserver() {} |
| - MOCK_METHOD0(OnDeviceTokenAvailable, void()); |
| + MOCK_METHOD0(OnDeviceTokenChanged, void()); |
| + MOCK_METHOD0(OnCredentialsChanged, void()); |
| + MOCK_METHOD0(OnPolicyDataGoingAway, void()); |
| private: |
| DISALLOW_COPY_AND_ASSIGN(MockTokenAvailableObserver); |
| @@ -51,16 +54,27 @@ class DeviceTokenFetcherTest : public testing::Test { |
| cache_.reset(new UserPolicyCache( |
| temp_user_data_dir_.path().AppendASCII("DeviceTokenFetcherTest"))); |
| service_.set_backend(&backend_); |
| + cloud_policy_data_.reset(CloudPolicyData::CreateForUserPolicies()); |
| + cloud_policy_data_->AddObserver(&observer_); |
| } |
| virtual void TearDown() { |
| loop_.RunAllPending(); |
| + cloud_policy_data_->RemoveObserver(&observer_); |
| + } |
| + |
| + void FetchToken(DeviceTokenFetcher* fetcher) { |
| + cloud_policy_data_->SetupForTesting("", "fake_device_id", "fake_user_name", |
| + "fake_auth_token", true); |
| + fetcher->FetchToken(); |
| } |
| MessageLoop loop_; |
| MockDeviceManagementBackend backend_; |
| MockDeviceManagementService service_; |
| scoped_ptr<CloudPolicyCacheBase> cache_; |
| + scoped_ptr<CloudPolicyData> cloud_policy_data_; |
| + MockTokenAvailableObserver observer_; |
| PolicyNotifier notifier_; |
| ScopedTempDir temp_user_data_dir_; |
| @@ -73,32 +87,26 @@ TEST_F(DeviceTokenFetcherTest, FetchToken) { |
| testing::InSequence s; |
| EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
| MockDeviceManagementBackendSucceedRegister()); |
| - DeviceTokenFetcher fetcher(&service_, cache_.get(), ¬ifier_); |
| - MockTokenAvailableObserver observer; |
| - EXPECT_CALL(observer, OnDeviceTokenAvailable()); |
| - fetcher.AddObserver(&observer); |
| - EXPECT_EQ("", fetcher.GetDeviceToken()); |
| - fetcher.FetchToken("fake_auth_token", "fake_device_id", |
| - em::DeviceRegisterRequest::USER, |
| - "fake_machine_id", "fake_machine_model"); |
| + DeviceTokenFetcher fetcher(&service_, cache_.get(), cloud_policy_data_.get(), |
| + ¬ifier_); |
| + EXPECT_CALL(observer_, OnDeviceTokenChanged()); |
| + EXPECT_EQ("", cloud_policy_data_->device_token()); |
| + FetchToken(&fetcher); |
| loop_.RunAllPending(); |
| - Mock::VerifyAndClearExpectations(&observer); |
| - std::string token = fetcher.GetDeviceToken(); |
| + Mock::VerifyAndClearExpectations(&observer_); |
| + std::string token = cloud_policy_data_->device_token(); |
| EXPECT_NE("", token); |
| // Calling FetchToken() again should result in a new token being fetched. |
| EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( |
| MockDeviceManagementBackendSucceedRegister()); |
| - EXPECT_CALL(observer, OnDeviceTokenAvailable()); |
| - fetcher.FetchToken("fake_auth_token", "fake_device_id", |
| - em::DeviceRegisterRequest::USER, |
| - "fake_machine_id", "fake_machine_model"); |
| + EXPECT_CALL(observer_, OnDeviceTokenChanged()); |
| + FetchToken(&fetcher); |
| loop_.RunAllPending(); |
| - Mock::VerifyAndClearExpectations(&observer); |
| - std::string token2 = fetcher.GetDeviceToken(); |
| + Mock::VerifyAndClearExpectations(&observer_); |
| + std::string token2 = cloud_policy_data_->device_token(); |
| EXPECT_NE("", token2); |
| EXPECT_NE(token, token2); |
| - fetcher.RemoveObserver(&observer); |
| } |
| TEST_F(DeviceTokenFetcherTest, RetryOnError) { |
| @@ -107,18 +115,13 @@ TEST_F(DeviceTokenFetcherTest, RetryOnError) { |
| MockDeviceManagementBackendFailRegister( |
| DeviceManagementBackend::kErrorRequestFailed)).WillOnce( |
| MockDeviceManagementBackendSucceedRegister()); |
| - DeviceTokenFetcher fetcher(&service_, cache_.get(), ¬ifier_, |
| - new DummyWorkScheduler); |
| - MockTokenAvailableObserver observer; |
| - EXPECT_CALL(observer, OnDeviceTokenAvailable()); |
| - fetcher.AddObserver(&observer); |
| - fetcher.FetchToken("fake_auth_token", "fake_device_id", |
| - em::DeviceRegisterRequest::USER, |
| - "fake_machine_id", "fake_machine_model"); |
| + DeviceTokenFetcher fetcher(&service_, cache_.get(), cloud_policy_data_.get(), |
| + ¬ifier_, new DummyWorkScheduler); |
| + EXPECT_CALL(observer_, OnDeviceTokenChanged()); |
| + FetchToken(&fetcher); |
| loop_.RunAllPending(); |
| - Mock::VerifyAndClearExpectations(&observer); |
| - EXPECT_NE("", fetcher.GetDeviceToken()); |
| - fetcher.RemoveObserver(&observer); |
| + Mock::VerifyAndClearExpectations(&observer_); |
| + EXPECT_NE("", cloud_policy_data_->device_token()); |
| } |
| TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) { |
| @@ -126,18 +129,14 @@ TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) { |
| MockDeviceManagementBackendFailRegister( |
| DeviceManagementBackend::kErrorServiceManagementNotSupported)); |
| EXPECT_FALSE(cache_->is_unmanaged()); |
| - DeviceTokenFetcher fetcher(&service_, cache_.get(), ¬ifier_); |
| - MockTokenAvailableObserver observer; |
| - EXPECT_CALL(observer, OnDeviceTokenAvailable()).Times(0); |
| - fetcher.AddObserver(&observer); |
| - fetcher.FetchToken("fake_auth_token", "fake_device_id", |
| - em::DeviceRegisterRequest::USER, |
| - "fake_machine_id", "fake_machine_model"); |
| + DeviceTokenFetcher fetcher(&service_, cache_.get(), cloud_policy_data_.get(), |
| + ¬ifier_); |
| + EXPECT_CALL(observer_, OnDeviceTokenChanged()).Times(0); |
| + FetchToken(&fetcher); |
| loop_.RunAllPending(); |
| - Mock::VerifyAndClearExpectations(&observer); |
| - EXPECT_EQ("", fetcher.GetDeviceToken()); |
| + Mock::VerifyAndClearExpectations(&observer_); |
| + EXPECT_EQ("", cloud_policy_data_->device_token()); |
| EXPECT_TRUE(cache_->is_unmanaged()); |
| - fetcher.RemoveObserver(&observer); |
| } |
| } // namespace policy |