diff options
author | Paul Duffin <paulduffin@google.com> | 2018-01-05 13:52:17 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2018-02-06 13:38:44 +0000 |
commit | 4ea70a23ea0a5df44028e5dabdf2a2a8fc5adc2a (patch) | |
tree | 2387bf951b9585f77980cdf360d262217c1697db /test-runner | |
parent | 0aa3b20a66197da5c6843afc1f9de0a1691ca5cc (diff) |
Modify android.test.runner to use new mock APIs
Previous change added some new public APIs to allow the
android.test.runner classes to be built against the public API stubs
rather than the internal classes. This change updates the
android.test.runner classes to use that new API.
This in turn is preparation for building an android.test.legacy library
that can be safely statically included in APKs.
Bug: 30188076
Test: make checkbuild
(cherry picked from commit 20af1df63f77f6b3ab12fd6221f581fe84182091)
Merged-In: I302626abb7e048ef0c3169e9a5209b85f2f87d34
Change-Id: Ie05a17598fcabc1189cacc912c01a25782ebd29c
Diffstat (limited to 'test-runner')
4 files changed, 10 insertions, 86 deletions
diff --git a/test-runner/src/android/test/IsolatedContext.java b/test-runner/src/android/test/IsolatedContext.java index 0b77c0062dfb..6e4c41eef81c 100644 --- a/test-runner/src/android/test/IsolatedContext.java +++ b/test-runner/src/android/test/IsolatedContext.java @@ -17,12 +17,6 @@ package android.test; import android.accounts.AccountManager; -import android.accounts.AccountManagerCallback; -import android.accounts.AccountManagerFuture; -import android.accounts.AuthenticatorException; -import android.accounts.OnAccountsUpdateListener; -import android.accounts.OperationCanceledException; -import android.accounts.Account; import android.content.ContextWrapper; import android.content.ContentResolver; import android.content.Intent; @@ -32,12 +26,10 @@ import android.content.BroadcastReceiver; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.net.Uri; -import android.os.Handler; +import android.test.mock.MockAccountManager; import java.io.File; -import java.io.IOException; import java.util.ArrayList; -import java.util.concurrent.TimeUnit; import java.util.List; @@ -52,7 +44,7 @@ import java.util.List; public class IsolatedContext extends ContextWrapper { private ContentResolver mResolver; - private final MockAccountManager mMockAccountManager; + private final AccountManager mMockAccountManager; private List<Intent> mBroadcastIntents = new ArrayList<>(); @@ -60,7 +52,7 @@ public class IsolatedContext extends ContextWrapper { ContentResolver resolver, Context targetContext) { super(targetContext); mResolver = resolver; - mMockAccountManager = new MockAccountManager(); + mMockAccountManager = MockAccountManager.newMockAccountManager(IsolatedContext.this); } /** Returns the list of intents that were broadcast since the last call to this method. */ @@ -123,71 +115,6 @@ public class IsolatedContext extends ContextWrapper { return null; } - private class MockAccountManager extends AccountManager { - public MockAccountManager() { - super(IsolatedContext.this, null /* IAccountManager */, null /* handler */); - } - - public void addOnAccountsUpdatedListener(OnAccountsUpdateListener listener, - Handler handler, boolean updateImmediately) { - // do nothing - } - - public Account[] getAccounts() { - return new Account[]{}; - } - - public AccountManagerFuture<Account[]> getAccountsByTypeAndFeatures( - final String type, final String[] features, - AccountManagerCallback<Account[]> callback, Handler handler) { - return new MockAccountManagerFuture<Account[]>(new Account[0]); - } - - public String blockingGetAuthToken(Account account, String authTokenType, - boolean notifyAuthFailure) - throws OperationCanceledException, IOException, AuthenticatorException { - return null; - } - - - /** - * A very simple AccountManagerFuture class - * that returns what ever was passed in - */ - private class MockAccountManagerFuture<T> - implements AccountManagerFuture<T> { - - T mResult; - - public MockAccountManagerFuture(T result) { - mResult = result; - } - - public boolean cancel(boolean mayInterruptIfRunning) { - return false; - } - - public boolean isCancelled() { - return false; - } - - public boolean isDone() { - return true; - } - - public T getResult() - throws OperationCanceledException, IOException, AuthenticatorException { - return mResult; - } - - public T getResult(long timeout, TimeUnit unit) - throws OperationCanceledException, IOException, AuthenticatorException { - return getResult(); - } - } - - } - @Override public File getFilesDir() { return new File("/dev/null"); diff --git a/test-runner/src/android/test/ProviderTestCase2.java b/test-runner/src/android/test/ProviderTestCase2.java index 1fa633e26961..be18b53059f3 100644 --- a/test-runner/src/android/test/ProviderTestCase2.java +++ b/test-runner/src/android/test/ProviderTestCase2.java @@ -21,6 +21,7 @@ import android.content.ContentResolver; import android.content.Context; import android.content.pm.ProviderInfo; import android.content.res.Resources; +import android.test.mock.MockContentProvider; import android.test.mock.MockContext; import android.test.mock.MockContentResolver; import android.database.DatabaseUtils; @@ -152,7 +153,7 @@ public abstract class ProviderTestCase2<T extends ContentProvider> extends Andro T instance = providerClass.newInstance(); ProviderInfo providerInfo = new ProviderInfo(); providerInfo.authority = authority; - instance.attachInfoForTesting(context, providerInfo); + MockContentProvider.attachInfoForTesting(instance, context, providerInfo); return instance; } diff --git a/test-runner/src/android/test/RenamingDelegatingContext.java b/test-runner/src/android/test/RenamingDelegatingContext.java index fd3332154611..10ccebc42dd0 100644 --- a/test-runner/src/android/test/RenamingDelegatingContext.java +++ b/test-runner/src/android/test/RenamingDelegatingContext.java @@ -21,6 +21,7 @@ import android.content.ContextWrapper; import android.content.ContentProvider; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; +import android.test.mock.MockContentProvider; import android.util.Log; import java.io.File; @@ -71,7 +72,7 @@ public class RenamingDelegatingContext extends ContextWrapper { if (allowAccessToExistingFilesAndDbs) { mContext.makeExistingFilesAndDbsAccessible(); } - mProvider.attachInfoForTesting(mContext, null); + MockContentProvider.attachInfoForTesting(mProvider, mContext, null); return mProvider; } diff --git a/test-runner/src/android/test/ServiceTestCase.java b/test-runner/src/android/test/ServiceTestCase.java index c8ff0f904d6d..cd54955f22fa 100644 --- a/test-runner/src/android/test/ServiceTestCase.java +++ b/test-runner/src/android/test/ServiceTestCase.java @@ -23,6 +23,7 @@ import android.content.Intent; import android.os.IBinder; import android.test.mock.MockApplication; +import android.test.mock.MockService; import java.util.Random; /** @@ -163,14 +164,8 @@ public abstract class ServiceTestCase<T extends Service> extends AndroidTestCase if (getApplication() == null) { setApplication(new MockApplication()); } - mService.attach( - getContext(), - null, // ActivityThread not actually used in Service - mServiceClass.getName(), - null, // token not needed when not talking with the activity manager - getApplication(), - null // mocked services don't talk with the activity manager - ); + MockService.attachForTesting( + mService, getContext(), mServiceClass.getName(), getApplication()); assertNotNull(mService); |