summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/device_token_fetcher_unittest.cc
diff options
context:
space:
mode:
authorjkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-23 12:56:17 +0000
committerjkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-23 12:56:17 +0000
commitf5e942e0b0e7c5fcd84711567356280a5409a547 (patch)
tree2bc2bc899c99354f8c08e937e0bab0fc70cfdd1f /chrome/browser/policy/device_token_fetcher_unittest.cc
parentba0cb0e9bb82616fe96d16fbf65ee38aa437a633 (diff)
downloadchromium_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.cc36
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));
}