diff options
author | jkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-23 12:56:17 +0000 |
---|---|---|
committer | jkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-23 12:56:17 +0000 |
commit | f5e942e0b0e7c5fcd84711567356280a5409a547 (patch) | |
tree | 2bc2bc899c99354f8c08e937e0bab0fc70cfdd1f /chrome/browser/policy/device_token_fetcher_unittest.cc | |
parent | ba0cb0e9bb82616fe96d16fbf65ee38aa437a633 (diff) | |
download | chromium_src-f5e942e0b0e7c5fcd84711567356280a5409a547.zip chromium_src-f5e942e0b0e7c5fcd84711567356280a5409a547.tar.gz chromium_src-f5e942e0b0e7c5fcd84711567356280a5409a547.tar.bz2 |
Refresh policies from DM server periodically
Also, this takes care of retrying when policy fetching fails.
BUG=62487
TEST=unit tests: DeviceManagementPolicyProviderTest.*:DeviceTokenFetcherTest.*
Review URL: http://codereview.chromium.org/5219006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67091 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/device_token_fetcher_unittest.cc')
-rw-r--r-- | chrome/browser/policy/device_token_fetcher_unittest.cc | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/chrome/browser/policy/device_token_fetcher_unittest.cc b/chrome/browser/policy/device_token_fetcher_unittest.cc index 7546286..393195c 100644 --- a/chrome/browser/policy/device_token_fetcher_unittest.cc +++ b/chrome/browser/policy/device_token_fetcher_unittest.cc @@ -23,15 +23,14 @@ const char kTestToken[] = "device_token_fetcher_test_auth_token"; using testing::_; using testing::Mock; -class MockTokenAvailableObserver : public NotificationObserver { +class MockTokenAvailableObserver : public DeviceTokenFetcher::Observer { public: MockTokenAvailableObserver() {} virtual ~MockTokenAvailableObserver() {} - MOCK_METHOD3(Observe, void( - NotificationType type, - const NotificationSource& source, - const NotificationDetails& details)); + MOCK_METHOD0(OnTokenSuccess, void()); + MOCK_METHOD0(OnTokenError, void()); + MOCK_METHOD0(OnNotManaged, void()); private: DISALLOW_COPY_AND_ASSIGN(MockTokenAvailableObserver); @@ -142,12 +141,12 @@ TEST_F(DeviceTokenFetcherTest, SimpleFetchDoubleLogin) { } TEST_F(DeviceTokenFetcherTest, FetchBetweenBrowserLaunchAndNotify) { - NotificationRegistrar registrar; MockTokenAvailableObserver observer; - registrar.Add(&observer, - NotificationType::DEVICE_TOKEN_AVAILABLE, - NotificationService::AllSources()); - EXPECT_CALL(observer, Observe(_, _, _)).Times(1); + DeviceTokenFetcher::ObserverRegistrar registrar; + registrar.Init(fetcher_); + registrar.AddObserver(&observer); + EXPECT_CALL(observer, OnTokenSuccess()).Times(1); + EXPECT_CALL(observer, OnTokenError()).Times(0); backend_->AllShouldSucceed(); EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); SimulateSuccessfulLoginAndRunPending(); @@ -158,8 +157,9 @@ TEST_F(DeviceTokenFetcherTest, FetchBetweenBrowserLaunchAndNotify) { // Swap out the fetchers, including copying the device management token on // disk to where the new fetcher expects it. - fetcher_ = NewTestFetcher( - temp_user_data_dir_.path()); + registrar.RemoveAll(); + fetcher_ = NewTestFetcher(temp_user_data_dir_.path()); + registrar.Init(fetcher_); fetcher_->StartFetching(); ASSERT_TRUE(fetcher_->IsTokenPending()); loop_.RunAllPending(); @@ -170,6 +170,12 @@ TEST_F(DeviceTokenFetcherTest, FetchBetweenBrowserLaunchAndNotify) { } TEST_F(DeviceTokenFetcherTest, FailedServerRequest) { + MockTokenAvailableObserver observer; + DeviceTokenFetcher::ObserverRegistrar registrar; + registrar.Init(fetcher_); + registrar.AddObserver(&observer); + EXPECT_CALL(observer, OnTokenSuccess()).Times(0); + EXPECT_CALL(observer, OnTokenError()).Times(1); backend_->AllShouldFail(); EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); SimulateSuccessfulLoginAndRunPending(); @@ -179,14 +185,16 @@ TEST_F(DeviceTokenFetcherTest, FailedServerRequest) { } TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) { + FilePath token_path; + GetDeviceTokenPath(fetcher_, &token_path); + file_util::WriteFile(token_path, "foo", 3); + ASSERT_TRUE(file_util::PathExists(token_path)); backend_->UnmanagedDevice(); EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); SimulateSuccessfulLoginAndRunPending(); ASSERT_FALSE(fetcher_->IsTokenPending()); ASSERT_EQ("", fetcher_->GetDeviceToken()); ASSERT_EQ("", device_id(fetcher_)); - FilePath token_path; - GetDeviceTokenPath(fetcher_, &token_path); ASSERT_FALSE(file_util::PathExists(token_path)); } |