Loading test-mock/api/android-test-mock-current.txt +9 −0 Original line number Diff line number Diff line package android.test.mock { public deprecated class MockAccountManager { method public static android.accounts.AccountManager newMockAccountManager(android.content.Context); } public deprecated class MockApplication extends android.app.Application { ctor public MockApplication(); } Loading @@ -9,6 +13,7 @@ package android.test.mock { ctor public MockContentProvider(android.content.Context); ctor public MockContentProvider(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]); method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>); method public static deprecated void attachInfoForTesting(android.content.ContentProvider, android.content.Context, android.content.pm.ProviderInfo); method public int delete(android.net.Uri, java.lang.String, java.lang.String[]); method public java.lang.String getType(android.net.Uri); method public android.net.Uri insert(android.net.Uri, android.content.ContentValues); Loading Loading @@ -289,5 +294,9 @@ package android.test.mock { method public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics); } public deprecated class MockService { method public static <T extends android.app.Service> void attachForTesting(android.app.Service, android.content.Context, java.lang.String, android.app.Application); } } test-mock/src/android/test/mock/MockAccountManager.java 0 → 100644 +119 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.test.mock; import android.accounts.Account; 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.content.Context; import android.os.Handler; import java.io.IOException; import java.util.concurrent.TimeUnit; /** * A mock {@link android.accounts.AccountManager} class. * * <p>Provided for use by {@code android.test.IsolatedContext}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot} * tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public class MockAccountManager { /** * Create a new mock {@link AccountManager} instance. * * @param context the {@link Context} to which the returned object belongs. * @return the new instance. */ public static AccountManager newMockAccountManager(Context context) { return new MockAccountManagerImpl(context); } private MockAccountManager() { } private static class MockAccountManagerImpl extends AccountManager { MockAccountManagerImpl(Context context) { super(context, 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 static class MockAccountManagerFuture<T> implements AccountManagerFuture<T> { T mResult; 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(); } } } test-mock/src/android/test/mock/MockContentProvider.java +17 −0 Original line number Diff line number Diff line Loading @@ -277,4 +277,21 @@ public class MockContentProvider extends ContentProvider { public final IContentProvider getIContentProvider() { return mIContentProvider; } /** * Like {@link #attachInfo(Context, android.content.pm.ProviderInfo)}, but for use * when directly instantiating the provider for testing. * * <p>Provided for use by {@code android.test.ProviderTestCase2} and * {@code android.test.RenamingDelegatingContext}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot}tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public static void attachInfoForTesting( ContentProvider provider, Context context, ProviderInfo providerInfo) { provider.attachInfoForTesting(context, providerInfo); } } test-mock/src/android/test/mock/MockService.java 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.test.mock; import android.app.Application; import android.app.Service; import android.content.Context; /** * A mock {@link android.app.Service} class. * * <p>Provided for use by {@code android.test.ServiceTestCase}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot}tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public class MockService { public static <T extends Service> void attachForTesting(Service service, Context context, String serviceClassName, Application application) { service.attach( context, null, // ActivityThread not actually used in Service serviceClassName, null, // token not needed when not talking with the activity manager application, null // mocked services don't talk with the activity manager ); } private MockService() { } } Loading
test-mock/api/android-test-mock-current.txt +9 −0 Original line number Diff line number Diff line package android.test.mock { public deprecated class MockAccountManager { method public static android.accounts.AccountManager newMockAccountManager(android.content.Context); } public deprecated class MockApplication extends android.app.Application { ctor public MockApplication(); } Loading @@ -9,6 +13,7 @@ package android.test.mock { ctor public MockContentProvider(android.content.Context); ctor public MockContentProvider(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]); method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>); method public static deprecated void attachInfoForTesting(android.content.ContentProvider, android.content.Context, android.content.pm.ProviderInfo); method public int delete(android.net.Uri, java.lang.String, java.lang.String[]); method public java.lang.String getType(android.net.Uri); method public android.net.Uri insert(android.net.Uri, android.content.ContentValues); Loading Loading @@ -289,5 +294,9 @@ package android.test.mock { method public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics); } public deprecated class MockService { method public static <T extends android.app.Service> void attachForTesting(android.app.Service, android.content.Context, java.lang.String, android.app.Application); } }
test-mock/src/android/test/mock/MockAccountManager.java 0 → 100644 +119 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.test.mock; import android.accounts.Account; 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.content.Context; import android.os.Handler; import java.io.IOException; import java.util.concurrent.TimeUnit; /** * A mock {@link android.accounts.AccountManager} class. * * <p>Provided for use by {@code android.test.IsolatedContext}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot} * tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public class MockAccountManager { /** * Create a new mock {@link AccountManager} instance. * * @param context the {@link Context} to which the returned object belongs. * @return the new instance. */ public static AccountManager newMockAccountManager(Context context) { return new MockAccountManagerImpl(context); } private MockAccountManager() { } private static class MockAccountManagerImpl extends AccountManager { MockAccountManagerImpl(Context context) { super(context, 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 static class MockAccountManagerFuture<T> implements AccountManagerFuture<T> { T mResult; 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(); } } }
test-mock/src/android/test/mock/MockContentProvider.java +17 −0 Original line number Diff line number Diff line Loading @@ -277,4 +277,21 @@ public class MockContentProvider extends ContentProvider { public final IContentProvider getIContentProvider() { return mIContentProvider; } /** * Like {@link #attachInfo(Context, android.content.pm.ProviderInfo)}, but for use * when directly instantiating the provider for testing. * * <p>Provided for use by {@code android.test.ProviderTestCase2} and * {@code android.test.RenamingDelegatingContext}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot}tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public static void attachInfoForTesting( ContentProvider provider, Context context, ProviderInfo providerInfo) { provider.attachInfoForTesting(context, providerInfo); } }
test-mock/src/android/test/mock/MockService.java 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.test.mock; import android.app.Application; import android.app.Service; import android.content.Context; /** * A mock {@link android.app.Service} class. * * <p>Provided for use by {@code android.test.ServiceTestCase}. * * @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>. * New tests should be written using the * <a href="{@docRoot}tools/testing-support-library/index.html">Android Testing Support Library</a>. */ @Deprecated public class MockService { public static <T extends Service> void attachForTesting(Service service, Context context, String serviceClassName, Application application) { service.attach( context, null, // ActivityThread not actually used in Service serviceClassName, null, // token not needed when not talking with the activity manager application, null // mocked services don't talk with the activity manager ); } private MockService() { } }