/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ package org.mozilla.gecko.sync.setup.test; import org.mozilla.android.sync.test.AndroidSyncTestCase; import org.mozilla.gecko.sync.SyncConstants; import org.mozilla.gecko.sync.Utils; import org.mozilla.gecko.sync.setup.Constants; import org.mozilla.gecko.sync.setup.SyncAccounts; import org.mozilla.gecko.sync.setup.SyncAccounts.SyncAccountParameters; import org.mozilla.gecko.sync.setup.SyncAuthenticatorService; import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; import android.os.Bundle; public class TestSyncAuthenticatorService extends AndroidSyncTestCase { private static final String TEST_USERNAME = "testAccount@mozilla.com"; private static final String TEST_SYNCKEY = "testSyncKey"; private static final String TEST_PASSWORD = "testPassword"; private static final String TEST_SERVERURL = "test.server.url/"; private Account account; private Context context; private AccountManager accountManager; private SyncAccountParameters syncAccount; public void setUp() { account = null; context = getApplicationContext(); accountManager = AccountManager.get(context); syncAccount = new SyncAccountParameters(context, accountManager, TEST_USERNAME, TEST_SYNCKEY, TEST_PASSWORD, TEST_SERVERURL); } public void tearDown() { if (account == null) { return; } TestSyncAccounts.deleteAccount(this, accountManager, account); account = null; } public void testGetPlainAuthToken() throws Exception { account = SyncAccounts.createSyncAccount(syncAccount, false); assertNotNull(account); final Bundle bundle = SyncAuthenticatorService.getPlainAuthToken(context, account); assertEquals(TEST_USERNAME, bundle.getString(AccountManager.KEY_ACCOUNT_NAME)); assertEquals(SyncConstants.ACCOUNTTYPE_SYNC, bundle.getString(AccountManager.KEY_ACCOUNT_TYPE)); assertEquals(Utils.usernameFromAccount(TEST_USERNAME), bundle.getString(Constants.OPTION_USERNAME)); assertEquals(TEST_PASSWORD, bundle.getString(AccountManager.KEY_AUTHTOKEN)); assertEquals(TEST_SYNCKEY, bundle.getString(Constants.OPTION_SYNCKEY)); assertEquals(TEST_SERVERURL, bundle.getString(Constants.OPTION_SERVER)); } public void testGetBadTokenType() throws Exception { account = SyncAccounts.createSyncAccount(syncAccount, false); assertNotNull(account); assertNull(accountManager.blockingGetAuthToken(account, "BAD_TOKEN_TYPE", false)); } }