diff --git a/test-runner/src/android/test/ProviderTestCase.java b/test-runner/src/android/test/ProviderTestCase.java index 1b323cf2dd380..4108f34fa0d44 100644 --- a/test-runner/src/android/test/ProviderTestCase.java +++ b/test-runner/src/android/test/ProviderTestCase.java @@ -67,9 +67,8 @@ public abstract class ProviderTestCase filenamePrefix); mProviderContext = new IsolatedContext(mResolver, targetContextWrapper); - mProvider = mProviderClass.newInstance(); - mProvider.attachInfoForTesting(mProviderContext, null); - assertNotNull(mProvider); + mProvider = ProviderTestCase2.createProviderForTest( + mProviderContext, mProviderClass, mProviderAuthority); mResolver.addProvider(mProviderAuthority, getProvider()); } @@ -107,8 +106,7 @@ public abstract class ProviderTestCase resolver, targetContextWrapper); DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql); - T provider = providerClass.newInstance(); - provider.attachInfoForTesting(context, null); + T provider = ProviderTestCase2.createProviderForTest(context, providerClass, authority); resolver.addProvider(authority, provider); return resolver; diff --git a/test-runner/src/android/test/ProviderTestCase2.java b/test-runner/src/android/test/ProviderTestCase2.java index dcd089dab90f8..1fa633e269618 100644 --- a/test-runner/src/android/test/ProviderTestCase2.java +++ b/test-runner/src/android/test/ProviderTestCase2.java @@ -19,6 +19,7 @@ package android.test; import android.content.ContentProvider; import android.content.ContentResolver; import android.content.Context; +import android.content.pm.ProviderInfo; import android.content.res.Resources; import android.test.mock.MockContext; import android.test.mock.MockContentResolver; @@ -138,13 +139,23 @@ public abstract class ProviderTestCase2 extends Andro getContext(), // The context that file methods are delegated to filenamePrefix); mProviderContext = new IsolatedContext(mResolver, targetContextWrapper); - - mProvider = mProviderClass.newInstance(); - mProvider.attachInfoForTesting(mProviderContext, null); - assertNotNull(mProvider); + mProvider = createProviderForTest(mProviderContext, mProviderClass, mProviderAuthority); mResolver.addProvider(mProviderAuthority, getProvider()); } + /** + * Creates and sets up a new instance of the provider. + */ + static T createProviderForTest( + Context context, Class providerClass, String authority) + throws IllegalAccessException, InstantiationException { + T instance = providerClass.newInstance(); + ProviderInfo providerInfo = new ProviderInfo(); + providerInfo.authority = authority; + instance.attachInfoForTesting(context, providerInfo); + return instance; + } + /** * Tears down the environment for the test fixture. *

@@ -218,8 +229,7 @@ public abstract class ProviderTestCase2 extends Andro Context context = new IsolatedContext(resolver, targetContextWrapper); DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql); - T provider = providerClass.newInstance(); - provider.attachInfoForTesting(context, null); + T provider = createProviderForTest(context, providerClass, authority); resolver.addProvider(authority, provider); return resolver;