Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java |
| index c4067ceb19b1c98001f7ab3d364db6bf88894a1f..1ba655ecc488b2416286d6a9805bbb5d9d627792 100644 |
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java |
| @@ -201,6 +201,122 @@ public class OAuth2TokenServiceIntegrationTest extends ChromeShellTestBase { |
| @MediumTest |
| @UiThreadTest |
| + public void testValidateAccountsSingleAccountWithoutChanges() { |
| + // Add account. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + |
| + // Mark user as signed in. |
| + mChromeSigninController.setSignedInAccountName(TEST_ACCOUNT1.name); |
| + |
| + // Run one validation. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(1, mObserver.getAvailableCallCount()); |
| + assertEquals(0, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + |
| + // Re-run validation. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(2, mObserver.getAvailableCallCount()); |
| + assertEquals(0, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + } |
| + |
| + @MediumTest |
| + @UiThreadTest |
| + public void testValidateAccountsSingleAccountThenAddOne() { |
| + // Add account. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + |
| + // Mark user as signed in. |
| + mChromeSigninController.setSignedInAccountName(TEST_ACCOUNT1.name); |
| + |
| + // Run one validation. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(1, mObserver.getAvailableCallCount()); |
| + assertEquals(0, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + |
| + // Add another account. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Re-run validation. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(3, mObserver.getAvailableCallCount()); |
| + assertEquals(0, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + } |
| + |
| + @MediumTest |
| + @UiThreadTest |
| + public void testValidateAccountsTwoAccountsThenRemoveOne() { |
| + // Add accounts. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Mark user as signed in. |
| + mChromeSigninController.setSignedInAccountName(TEST_ACCOUNT1.name); |
| + |
| + // Run one validation. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(2, mObserver.getAvailableCallCount()); |
| + |
| + mAccountManager.removeAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + |
| + assertEquals(3, mObserver.getAvailableCallCount()); |
| + assertEquals(1, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + } |
| + |
| + @MediumTest |
| + @UiThreadTest |
| + public void testValidateAccountsTwoAccountsThenRemoveAll() { |
| + // Add accounts. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Mark user as signed in. |
| + mChromeSigninController.setSignedInAccountName(TEST_ACCOUNT1.name); |
| + |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(2, mObserver.getAvailableCallCount()); |
| + |
| + // Remove all. |
| + mAccountManager.removeAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + mAccountManager.removeAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Re-validate and run checks. |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(2, mObserver.getRevokedCallCount()); |
|
nyquist
2014/04/24 22:27:05
Nit: Add assertEquals(2, mObserver.getAvailableCal
|
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + } |
| + |
| + @MediumTest |
| + @UiThreadTest |
| + public void testValidateAccountsTwoAccountsThenRemoveAllSignOut() { |
| + // Add accounts. |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Mark user as signed in. |
| + mChromeSigninController.setSignedInAccountName(TEST_ACCOUNT1.name); |
| + |
| + mOAuth2TokenService.validateAccounts(mContext); |
| + assertEquals(2, mObserver.getAvailableCallCount()); |
| + |
| + // Remove all. |
| + mChromeSigninController.clearSignedInUser(); |
|
nyquist
2014/04/24 22:27:05
From the code, it seems like just clearing the sig
|
| + mAccountManager.removeAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |
| + mAccountManager.removeAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_2); |
| + |
| + // Re-validate and run checks. |
| + mOAuth2TokenService.validateAccounts(mContext); |
|
nyquist
2014/04/24 22:27:05
Nit: Also assertEquals(2, mObserver.getAvailableCa
|
| + assertEquals(2, mObserver.getRevokedCallCount()); |
| + assertEquals(0, mObserver.getLoadedCallCount()); |
| + } |
| + |
| + @MediumTest |
| + @UiThreadTest |
| public void testValidateAccountsTwoAccountsRegisteredAndOneSignedIn() { |
| // Add accounts. |
| mAccountManager.addAccountHolderExplicitly(TEST_ACCOUNT_HOLDER_1); |