From d9543578609c6035aa97844b45143a2ce6ff1bfe Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Thu, 25 Aug 2016 15:09:22 -0700 Subject: [PATCH] Fix AccountManagerServiceTest Unregister AccountManagerInternal before creating a new instance of AccountManagerService, otherwise it will cause: java.lang.IllegalStateException: Overriding service registration Also overrode MockPm.addOnPermissionsChangeListener to be a noop and not throw an exception. Bug: 31071079 Change-Id: I0d24232eba655a68bf3fb38d7aa9edb92d469cea --- .../com/android/server/accounts/AccountManagerServiceTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java index 404c14271b89..a3d0afab88eb 100644 --- a/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import android.accounts.Account; +import android.accounts.AccountManagerInternal; import android.accounts.AuthenticatorDescription; import android.app.AppOpsManager; import android.app.Notification; @@ -44,6 +45,8 @@ import android.test.mock.MockContext; import android.test.mock.MockPackageManager; import android.util.Log; +import com.android.server.LocalServices; + import java.io.File; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -73,6 +76,7 @@ public class AccountManagerServiceTest extends AndroidTestCase { SQLiteDatabase.deleteDatabase(new File(mAms.getCeDatabaseName(UserHandle.USER_SYSTEM))); SQLiteDatabase.deleteDatabase(new File(mAms.getDeDatabaseName(UserHandle.USER_SYSTEM))); SQLiteDatabase.deleteDatabase(new File(mAms.getPreNDatabaseName(UserHandle.USER_SYSTEM))); + LocalServices.removeServiceForTest(AccountManagerInternal.class); super.tearDown(); } @@ -282,6 +286,7 @@ public class AccountManagerServiceTest extends AndroidTestCase { private AccountManagerService createAccountManagerService(Context mockContext, Context realContext) { + LocalServices.removeServiceForTest(AccountManagerInternal.class); return new MyAccountManagerService(mockContext, new MyMockPackageManager(), new MockAccountAuthenticatorCache(), realContext); } @@ -420,6 +425,11 @@ public class AccountManagerServiceTest extends AndroidTestCase { public int checkSignatures(final int uid1, final int uid2) { return PackageManager.SIGNATURE_MATCH; } + + @Override + public void addOnPermissionsChangeListener( + OnPermissionsChangedListener listener) { + } } static public class MyAccountManagerService extends AccountManagerService { -- 2.11.0