diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 19:37:02 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 19:37:02 +0000 |
commit | 44ec2b86db9ab39d9e5ea6b072b3c105aeabf30b (patch) | |
tree | 5ef2e4e14d6ca8b452024238ac1d317d0f2293da /chrome/browser/chrome_to_mobile_service_unittest.cc | |
parent | 884f9002d61b445c35f98a033867b282e5d97ace (diff) | |
download | chromium_src-44ec2b86db9ab39d9e5ea6b072b3c105aeabf30b.zip chromium_src-44ec2b86db9ab39d9e5ea6b072b3c105aeabf30b.tar.gz chromium_src-44ec2b86db9ab39d9e5ea6b072b3c105aeabf30b.tar.bz2 |
Integrate invalidation API into ChromeToMobileService.
Update chrome/browser/DEPS with new dependencies:
(google/cacheinvalidation and sync/notifier)
Observe Sync Notifier invalidation notifications:
(depend on this service for mobile list updates)
(refresh the device list on cloud print invalidation)
Remove RequestMobileListUpdate, timestamp, & account info:
(no longer needed with invalidation integration)
(just set command state and icon visibility w/HasMobiles)
Lazily init the access token, queue search/send operations:
(only get an access token as needed, add |task_queue_|)
Allow concurrent cloud print device search requests:
(handle user-triggered updates while fetching the list)
Misc cleanup (CloudPrintUrl handling, tests, etc.)
TODO(followup): Additional logging, tests, invalidation ack.
BUG=102709,137086
Review URL: https://chromiumcodereview.appspot.com/10834203
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152609 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_to_mobile_service_unittest.cc')
-rw-r--r-- | chrome/browser/chrome_to_mobile_service_unittest.cc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/chrome/browser/chrome_to_mobile_service_unittest.cc b/chrome/browser/chrome_to_mobile_service_unittest.cc index d1e6d41..8cff191 100644 --- a/chrome/browser/chrome_to_mobile_service_unittest.cc +++ b/chrome/browser/chrome_to_mobile_service_unittest.cc @@ -17,7 +17,6 @@ const char kDummyString[] = "dummy"; class DummyNotificationSource {}; -// A mock ChromeToMobileService with a mocked out RequestAccessToken method. class MockChromeToMobileService : public ChromeToMobileService { public: MockChromeToMobileService(); @@ -50,29 +49,37 @@ ChromeToMobileServiceTest::ChromeToMobileServiceTest() {} ChromeToMobileServiceTest::~ChromeToMobileServiceTest() {} -// Ensure that RequestAccessToken is not called for irrelevant notifications. +// Ensure that irrelevant notifications do not invalidate the access token. TEST_F(ChromeToMobileServiceTest, IgnoreIrrelevantNotifications) { EXPECT_CALL(service_, RequestAccessToken()).Times(0); - // Send dummy service/token details (should not refresh token). + service_.SetAccessTokenForTest(kDummyString); + ASSERT_FALSE(service_.GetAccessTokenForTest().empty()); + + // Send dummy service/token details (should not request token). DummyNotificationSource dummy_source; TokenService::TokenAvailableDetails dummy_details(kDummyString, kDummyString); service_.Observe(chrome::NOTIFICATION_TOKEN_AVAILABLE, content::Source<DummyNotificationSource>(&dummy_source), content::Details<TokenService::TokenAvailableDetails>(&dummy_details)); + EXPECT_FALSE(service_.GetAccessTokenForTest().empty()); } -// Ensure that RequestAccessToken is called on the proper notification. +// Ensure that proper notifications invalidate the access token. TEST_F(ChromeToMobileServiceTest, AuthenticateOnTokenAvailable) { - EXPECT_CALL(service_, RequestAccessToken()).Times(1); + EXPECT_CALL(service_, RequestAccessToken()).Times(0); + + service_.SetAccessTokenForTest(kDummyString); + ASSERT_FALSE(service_.GetAccessTokenForTest().empty()); - // Send a Gaia OAuth2 Login service dummy token (should refresh token). + // Send a Gaia OAuth2 Login service dummy token (should request token). DummyNotificationSource dummy_source; TokenService::TokenAvailableDetails login_details( GaiaConstants::kGaiaOAuth2LoginRefreshToken, kDummyString); service_.Observe(chrome::NOTIFICATION_TOKEN_AVAILABLE, content::Source<DummyNotificationSource>(&dummy_source), content::Details<TokenService::TokenAvailableDetails>(&login_details)); + EXPECT_TRUE(service_.GetAccessTokenForTest().empty()); } } // namespace |