Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninHelperTest.java

Issue 1860143003: 🌅 Refactor SigninHelper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix SyncTest. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.signin; 5 package org.chromium.chrome.browser.signin;
6 6
7 import android.accounts.Account; 7 import android.accounts.Account;
8 import android.test.InstrumentationTestCase; 8 import android.test.InstrumentationTestCase;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 10
11 import org.chromium.base.test.util.AdvancedMockContext; 11 import org.chromium.base.test.util.AdvancedMockContext;
12 import org.chromium.base.test.util.DisabledTest; 12 import org.chromium.base.test.util.DisabledTest;
13 import org.chromium.chrome.test.util.browser.signin.MockChangeEventChecker; 13 import org.chromium.chrome.test.util.browser.signin.MockChangeEventChecker;
14 import org.chromium.sync.signin.AccountManagerHelper; 14 import org.chromium.sync.signin.AccountManagerHelper;
15 import org.chromium.sync.signin.ChromeSigninController; 15 import org.chromium.sync.signin.ChromeSigninController;
16 import org.chromium.sync.test.util.AccountHolder; 16 import org.chromium.sync.test.util.AccountHolder;
17 import org.chromium.sync.test.util.MockAccountManager; 17 import org.chromium.sync.test.util.MockAccountManager;
18 18
19 /** 19 /**
20 * Instrumentation tests for {@link SigninHelper}. 20 * Instrumentation tests for {@link SigninHelper}.
21 */ 21 */
22 public class SigninHelperTest extends InstrumentationTestCase { 22 public class SigninHelperTest extends InstrumentationTestCase {
23 private MockAccountManager mAccountManager; 23 private MockAccountManager mAccountManager;
24 private AdvancedMockContext mContext; 24 private AdvancedMockContext mContext;
25 private MockChangeEventChecker mEventChecker; 25 private MockChangeEventChecker mEventChecker;
26 private SigninHelper mSigninHelper;
26 27
27 @Override 28 @Override
28 public void setUp() { 29 public void setUp() {
29 mContext = new AdvancedMockContext(getInstrumentation().getTargetContext ()); 30 mContext = new AdvancedMockContext(getInstrumentation().getTargetContext ());
30 mEventChecker = new MockChangeEventChecker(); 31 mEventChecker = new MockChangeEventChecker();
31 32
32 // Mock out the account manager on the device. 33 // Mock out the account manager on the device.
33 mAccountManager = new MockAccountManager(mContext, getInstrumentation(). getContext()); 34 mAccountManager = new MockAccountManager(mContext, getInstrumentation(). getContext());
34 AccountManagerHelper.overrideAccountManagerHelperForTests(mContext, mAcc ountManager); 35 AccountManagerHelper.overrideAccountManagerHelperForTests(mContext, mAcc ountManager);
36 SigninHelper.initializeForTests(mContext);
37 mSigninHelper = SigninHelper.get(mContext);
35 } 38 }
36 39
37 @SmallTest 40 @SmallTest
38 public void testAccountsChangedPref() { 41 public void testAccountsChangedPref() {
39 assertEquals("Should never return true before the pref has ever been set .", 42 assertEquals("Should never return true before the pref has ever been set .",
40 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 43 false, mSigninHelper.checkAndClearAccountsChangedPref());
41 assertEquals("Should never return true before the pref has ever been set .", 44 assertEquals("Should never return true before the pref has ever been set .",
42 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 45 false, mSigninHelper.checkAndClearAccountsChangedPref());
43 46
44 // Mark the pref as set. 47 // Mark the pref as set.
45 SigninHelper.markAccountsChangedPref(mContext); 48 mSigninHelper.markAccountsChangedPref();
46 49
47 assertEquals("Should return true first time after marking accounts chang ed", 50 assertEquals("Should return true first time after marking accounts chang ed",
48 true, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 51 true, mSigninHelper.checkAndClearAccountsChangedPref());
49 assertEquals("Should only return true first time after marking accounts changed", 52 assertEquals("Should only return true first time after marking accounts changed",
50 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 53 false, mSigninHelper.checkAndClearAccountsChangedPref());
51 assertEquals("Should only return true first time after marking accounts changed", 54 assertEquals("Should only return true first time after marking accounts changed",
52 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 55 false, mSigninHelper.checkAndClearAccountsChangedPref());
53 56
54 // Mark the pref as set again. 57 // Mark the pref as set again.
55 SigninHelper.markAccountsChangedPref(mContext); 58 mSigninHelper.markAccountsChangedPref();
56 59
57 assertEquals("Should return true first time after marking accounts chang ed", 60 assertEquals("Should return true first time after marking accounts chang ed",
58 true, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 61 true, mSigninHelper.checkAndClearAccountsChangedPref());
59 assertEquals("Should only return true first time after marking accounts changed", 62 assertEquals("Should only return true first time after marking accounts changed",
60 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 63 false, mSigninHelper.checkAndClearAccountsChangedPref());
61 assertEquals("Should only return true first time after marking accounts changed", 64 assertEquals("Should only return true first time after marking accounts changed",
62 false, SigninHelper.checkAndClearAccountsChangedPref(mContext)); 65 false, mSigninHelper.checkAndClearAccountsChangedPref());
63 } 66 }
64 67
65 @SmallTest 68 @SmallTest
66 public void testSimpleAccountRename() { 69 public void testSimpleAccountRename() {
67 setSignedInAccountName("A"); 70 setSignedInAccountName("A");
68 mEventChecker.insertRenameEvent("A", "B"); 71 mEventChecker.insertRenameEvent("A", "B");
69 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 72 mSigninHelper.updateAccountRenameData(mEventChecker);
70 assertEquals("B", getNewSignedInAccountName()); 73 assertEquals("B", getNewSignedInAccountName());
71 } 74 }
72 75
73 @DisabledTest // crbug.com/568623 76 @DisabledTest // crbug.com/568623
74 @SmallTest 77 @SmallTest
75 public void testNotSignedInAccountRename() { 78 public void testNotSignedInAccountRename() {
76 setSignedInAccountName("A"); 79 setSignedInAccountName("A");
77 mEventChecker.insertRenameEvent("B", "C"); 80 mEventChecker.insertRenameEvent("B", "C");
78 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 81 mSigninHelper.updateAccountRenameData(mEventChecker);
79 assertEquals(null, getNewSignedInAccountName()); 82 assertEquals(null, getNewSignedInAccountName());
80 } 83 }
81 84
82 @SmallTest 85 @SmallTest
83 public void testSimpleAccountRenameTwice() { 86 public void testSimpleAccountRenameTwice() {
84 setSignedInAccountName("A"); 87 setSignedInAccountName("A");
85 mEventChecker.insertRenameEvent("A", "B"); 88 mEventChecker.insertRenameEvent("A", "B");
86 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 89 mSigninHelper.updateAccountRenameData(mEventChecker);
87 assertEquals("B", getNewSignedInAccountName()); 90 assertEquals("B", getNewSignedInAccountName());
88 mEventChecker.insertRenameEvent("B", "C"); 91 mEventChecker.insertRenameEvent("B", "C");
89 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 92 mSigninHelper.updateAccountRenameData(mEventChecker);
90 assertEquals("C", getNewSignedInAccountName()); 93 assertEquals("C", getNewSignedInAccountName());
91 } 94 }
92 95
93 @SmallTest 96 @SmallTest
94 public void testNotSignedInAccountRename2() { 97 public void testNotSignedInAccountRename2() {
95 setSignedInAccountName("A"); 98 setSignedInAccountName("A");
96 mEventChecker.insertRenameEvent("B", "C"); 99 mEventChecker.insertRenameEvent("B", "C");
97 mEventChecker.insertRenameEvent("C", "D"); 100 mEventChecker.insertRenameEvent("C", "D");
98 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 101 mSigninHelper.updateAccountRenameData(mEventChecker);
99 assertEquals(null, getNewSignedInAccountName()); 102 assertEquals(null, getNewSignedInAccountName());
100 } 103 }
101 104
102 @SmallTest 105 @SmallTest
103 public void testChainedAccountRename2() { 106 public void testChainedAccountRename2() {
104 setSignedInAccountName("A"); 107 setSignedInAccountName("A");
105 mEventChecker.insertRenameEvent("Z", "Y"); // Unrelated. 108 mEventChecker.insertRenameEvent("Z", "Y"); // Unrelated.
106 mEventChecker.insertRenameEvent("A", "B"); 109 mEventChecker.insertRenameEvent("A", "B");
107 mEventChecker.insertRenameEvent("Y", "X"); // Unrelated. 110 mEventChecker.insertRenameEvent("Y", "X"); // Unrelated.
108 mEventChecker.insertRenameEvent("B", "C"); 111 mEventChecker.insertRenameEvent("B", "C");
109 mEventChecker.insertRenameEvent("C", "D"); 112 mEventChecker.insertRenameEvent("C", "D");
110 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 113 mSigninHelper.updateAccountRenameData(mEventChecker);
111 assertEquals("D", getNewSignedInAccountName()); 114 assertEquals("D", getNewSignedInAccountName());
112 } 115 }
113 116
114 @SmallTest 117 @SmallTest
115 public void testLoopedAccountRename() { 118 public void testLoopedAccountRename() {
116 setSignedInAccountName("A"); 119 setSignedInAccountName("A");
117 mEventChecker.insertRenameEvent("Z", "Y"); // Unrelated. 120 mEventChecker.insertRenameEvent("Z", "Y"); // Unrelated.
118 mEventChecker.insertRenameEvent("A", "B"); 121 mEventChecker.insertRenameEvent("A", "B");
119 mEventChecker.insertRenameEvent("Y", "X"); // Unrelated. 122 mEventChecker.insertRenameEvent("Y", "X"); // Unrelated.
120 mEventChecker.insertRenameEvent("B", "C"); 123 mEventChecker.insertRenameEvent("B", "C");
121 mEventChecker.insertRenameEvent("C", "D"); 124 mEventChecker.insertRenameEvent("C", "D");
122 mEventChecker.insertRenameEvent("D", "A"); // Looped. 125 mEventChecker.insertRenameEvent("D", "A"); // Looped.
123 Account account = AccountManagerHelper.createAccountFromName("D"); 126 Account account = AccountManagerHelper.createAccountFromName("D");
124 AccountHolder accountHolder = AccountHolder.create().account(account).bu ild(); 127 AccountHolder accountHolder = AccountHolder.create().account(account).bu ild();
125 mAccountManager.addAccountHolderExplicitly(accountHolder); 128 mAccountManager.addAccountHolderExplicitly(accountHolder);
126 SigninHelper.updateAccountRenameData(mContext, mEventChecker); 129 mSigninHelper.updateAccountRenameData(mEventChecker);
127 assertEquals("D", getNewSignedInAccountName()); 130 assertEquals("D", getNewSignedInAccountName());
128 } 131 }
129 132
130 private void setSignedInAccountName(String account) { 133 private void setSignedInAccountName(String account) {
131 ChromeSigninController.get(mContext).setSignedInAccountName(account); 134 ChromeSigninController.get(mContext).setSignedInAccountName(account);
132 } 135 }
133 136
134 private String getSignedInAccountName() { 137 private String getSignedInAccountName() {
135 return ChromeSigninController.get(mContext).getSignedInAccountName(); 138 return ChromeSigninController.get(mContext).getSignedInAccountName();
136 } 139 }
137 140
138 private String getNewSignedInAccountName() { 141 private String getNewSignedInAccountName() {
139 return SigninHelper.getNewSignedInAccountName(mContext); 142 return mSigninHelper.getNewSignedInAccountName();
140 } 143 }
141 } 144 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698