@Override public ProviderInfo getProviderInfo(ComponentName component, int flags) throws NameNotFoundException { return mBase.getProviderInfo(component, flags); }
/** * Create and register {@link ContentProvider} using {@link ProviderInfo} found from manifest. */ public ContentProviderController<T> create() { Context baseContext = RuntimeEnvironment.application.getBaseContext(); ComponentName componentName = createRelative(baseContext.getPackageName(), contentProvider.getClass().getName()); ProviderInfo providerInfo = null; try { providerInfo = baseContext .getPackageManager() .getProviderInfo(componentName, PackageManager.MATCH_DISABLED_COMPONENTS); } catch (PackageManager.NameNotFoundException e) { Logger.strict("Unable to find provider info for " + componentName, e); } return create(providerInfo); }
@Test public void getProviderInfo_packageNotFoundShouldThrowException() { try { packageManager.getProviderInfo( new ComponentName("non.existent.package", ".tester.DoesntExist"), 0); fail("should have thrown NameNotFoundException"); } catch (NameNotFoundException e) { // expected } }
@Test public void getProviderInfo_shouldMetaDataInProviderInfos() throws Exception { ProviderInfo providerInfo = packageManager.getProviderInfo( new ComponentName( ApplicationProvider.getApplicationContext(), "org.robolectric.shadows.testing.TestContentProvider1"), PackageManager.GET_META_DATA); assertThat(providerInfo.authority).isEqualTo("org.robolectric.authority1"); assertThat(providerInfo.metaData.getString("greeting")).isEqualTo("Hello"); }
@Test public void addProvider() throws Exception { ProviderInfo providerInfo = new ProviderInfo(); providerInfo.name = "name"; providerInfo.packageName = "package"; shadowPackageManager.addOrUpdateProvider(providerInfo); assertThat(packageManager.getProviderInfo(new ComponentName("package", "name"), 0)).isNotNull(); }
@Test public void getProviderInfo_shouldReturnProviderInfos() throws Exception { ProviderInfo providerInfo1 = packageManager.getProviderInfo( new ComponentName( ApplicationProvider.getApplicationContext(), "org.robolectric.shadows.testing.TestContentProvider1"), 0); assertThat(providerInfo1.packageName).isEqualTo("org.robolectric"); assertThat(providerInfo1.authority).isEqualTo("org.robolectric.authority1"); ProviderInfo providerInfo2 = packageManager.getProviderInfo( new ComponentName( ApplicationProvider.getApplicationContext(), "org.robolectric.shadows.testing.TestContentProvider2"), 0); assertThat(providerInfo2.packageName).isEqualTo("org.robolectric"); assertThat(providerInfo2.authority).isEqualTo("org.robolectric.authority2"); }
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = WeatherContract.CONTENT_AUTHORITY;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = WeatherContract.CONTENT_AUTHORITY;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = packageName;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = WeatherContract.CONTENT_AUTHORITY;
ProviderInfo providerInfo = pm.getProviderInfo(componentName, 0); String actualAuthority = providerInfo.authority; String expectedAuthority = WeatherContract.CONTENT_AUTHORITY;
@Test public void removeProvider() throws Exception { ComponentName componentName = new ComponentName( ApplicationProvider.getApplicationContext(), "org.robolectric.shadows.testing.TestContentProvider1"); ProviderInfo removed = shadowPackageManager.removeProvider(componentName); assertThat(removed).isNotNull(); try { packageManager.getProviderInfo(componentName, 0); fail(); } catch (NameNotFoundException e) { // expected } }
@Test public void getProviderInfo_shouldPopulatePermissionsInProviderInfos() throws Exception { ProviderInfo providerInfo = packageManager.getProviderInfo( new ComponentName( ApplicationProvider.getApplicationContext(), "org.robolectric.shadows.testing.TestContentProvider1"), 0); assertThat(providerInfo.authority).isEqualTo("org.robolectric.authority1"); assertThat(providerInfo.readPermission).isEqualTo("READ_PERMISSION"); assertThat(providerInfo.writePermission).isEqualTo("WRITE_PERMISSION"); assertThat(providerInfo.pathPermissions).asList().hasSize(1); assertThat(providerInfo.pathPermissions[0].getType()) .isEqualTo(PathPermission.PATTERN_SIMPLE_GLOB); assertThat(providerInfo.pathPermissions[0].getPath()).isEqualTo("/path/*"); assertThat(providerInfo.pathPermissions[0].getReadPermission()) .isEqualTo("PATH_READ_PERMISSION"); assertThat(providerInfo.pathPermissions[0].getWritePermission()) .isEqualTo("PATH_WRITE_PERMISSION"); }