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