| Index: chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninUtilsTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninUtilsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninUtilsTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..af650ea6e6432eaf80afac4720134b3583dd8593
|
| --- /dev/null
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninUtilsTest.java
|
| @@ -0,0 +1,158 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.chrome.test.util;
|
| +
|
| +import android.test.suitebuilder.annotation.MediumTest;
|
| +import android.test.suitebuilder.annotation.SmallTest;
|
| +
|
| +import org.chromium.chrome.browser.ChromeActivity;
|
| +import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
| +
|
| +/**
|
| + * Tester class for {@link SigninUtils}.
|
| + *
|
| + * Internet is needed for running the Gaia account tests.
|
| + */
|
| +public class SigninUtilsTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| + private static final String APP_FAKE_ACCOUNT_USERNAME = "test@google.com";
|
| + private static final String FAKE_OS_ACCOUNT_USERNAME = "test@example.com";
|
| + private static final String FAKE_OS_ACCOUNT_PASSWORD = "$3cr3t";
|
| + private static final String REAL_OS_ACCOUNT_USERNAME = "chromiumforandroid01@gmail.com";
|
| + private static final String REAL_OS_ACCOUNT_PASSWORD = "chromeforandroid";
|
| + private static final String ACCOUNT_TYPE = "mail";
|
| +
|
| + private SigninUtils mSigninUtil;
|
| +
|
| + public SigninUtilsTest() {
|
| + super(ChromeActivity.class);
|
| + }
|
| +
|
| + @Override
|
| + public void setUp() throws Exception {
|
| + super.setUp();
|
| + mSigninUtil = new SigninUtils(this);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testActivityIsNotSignedInOnAppOrFakeOSorGaiaOS() {
|
| + assertEquals("Should not be signed into app.", false,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should not be signed into OS with fake account.", false,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should not be signed in on OS with GAIA account.", false,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testIsSignedInOnApp() {
|
| + mSigninUtil.addAccountToApp(APP_FAKE_ACCOUNT_USERNAME);
|
| + assertEquals("Should be signed on app.", true,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should not be signed on OS with fake account.", false,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should not be signed in on OS with GAIA account.", false,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeAccountFromApp();
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testIsSignedInOnFakeOS() {
|
| + mSigninUtil.removeAllFakeAccountsFromOs();
|
| + mSigninUtil.addFakeAccountToOs(FAKE_OS_ACCOUNT_USERNAME, FAKE_OS_ACCOUNT_PASSWORD);
|
| + assertEquals("Should not be signed in on app.", false,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should be signed in on OS with fake account.", true,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should not be signed in on OS with GAIA account.", false,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeFakeAccountFromOs(FAKE_OS_ACCOUNT_USERNAME);
|
| + }
|
| +
|
| + @MediumTest
|
| + public void testIsSignedInOnGaiaOS() {
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + mSigninUtil.addGaiaAccountToOs(REAL_OS_ACCOUNT_USERNAME, REAL_OS_ACCOUNT_PASSWORD,
|
| + ACCOUNT_TYPE);
|
| + assertEquals("Should not be signed into app.", false,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should not be signed into OS with fake account.", false,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should be signed in on OS with GAIA account.", true,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testIsSignedInOnFakeOSandApp() {
|
| + mSigninUtil.addAccountToApp(APP_FAKE_ACCOUNT_USERNAME);
|
| + mSigninUtil.removeAllFakeAccountsFromOs();
|
| + mSigninUtil.addFakeAccountToOs(FAKE_OS_ACCOUNT_USERNAME, FAKE_OS_ACCOUNT_PASSWORD);
|
| + assertEquals("Should be signed in on app.", true,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should be signed in on OS with fake account.", true,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should not be signed in on OS with GAIA account.", false,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeAccountFromApp();
|
| + mSigninUtil.removeFakeAccountFromOs(FAKE_OS_ACCOUNT_USERNAME);
|
| + }
|
| +
|
| + @MediumTest
|
| + public void testIsSignedInOnAppAndGaiaOS() {
|
| + mSigninUtil.addAccountToApp(APP_FAKE_ACCOUNT_USERNAME);
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + mSigninUtil.addGaiaAccountToOs(REAL_OS_ACCOUNT_USERNAME, REAL_OS_ACCOUNT_PASSWORD,
|
| + ACCOUNT_TYPE);
|
| + assertEquals("Should be signed into app.", true,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should not be signed into OS with fake account.", false,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should be signed in on OS with GAIA account.", true,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeAccountFromApp();
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + }
|
| +
|
| + @MediumTest
|
| + public void testIsSignedInOnFakeOSandGaiaOS() {
|
| + mSigninUtil.removeAllFakeAccountsFromOs();
|
| + mSigninUtil.addFakeAccountToOs(FAKE_OS_ACCOUNT_USERNAME, FAKE_OS_ACCOUNT_PASSWORD);
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + mSigninUtil.addGaiaAccountToOs(REAL_OS_ACCOUNT_USERNAME, REAL_OS_ACCOUNT_PASSWORD,
|
| + ACCOUNT_TYPE);
|
| + assertEquals("Should not be signed into app.", false,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should be signed into OS with fake account.", true,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should be signed in on OS with GAIA account.", true,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeFakeAccountFromOs(FAKE_OS_ACCOUNT_USERNAME);
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + }
|
| +
|
| + @MediumTest
|
| + public void testIsSignedInOnAppAndFakeOSandGaiaOS() {
|
| + mSigninUtil.addAccountToApp(APP_FAKE_ACCOUNT_USERNAME);
|
| + mSigninUtil.removeAllFakeAccountsFromOs();
|
| + mSigninUtil.addFakeAccountToOs(FAKE_OS_ACCOUNT_USERNAME, FAKE_OS_ACCOUNT_PASSWORD);
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + mSigninUtil.addGaiaAccountToOs(REAL_OS_ACCOUNT_USERNAME, REAL_OS_ACCOUNT_PASSWORD,
|
| + ACCOUNT_TYPE);
|
| + assertEquals("Should be signed into app.", true,
|
| + mSigninUtil.isExistingAccountOnApp());
|
| + assertEquals("Should be signed into OS with fake account.", true,
|
| + mSigninUtil.isExistingFakeAccountOnOs());
|
| + assertEquals("Should be signed in on OS with GAIA account.", true,
|
| + mSigninUtil.isExistingGaiaAccountOnOs());
|
| + mSigninUtil.removeAccountFromApp();
|
| + mSigninUtil.removeFakeAccountFromOs(FAKE_OS_ACCOUNT_USERNAME);
|
| + mSigninUtil.removeAllGaiaAccountsFromOs();
|
| + }
|
| +
|
| + @Override
|
| + public void startMainActivity() throws InterruptedException {
|
| + startMainActivityOnBlankPage();
|
| + }
|
| +}
|
|
|