assertEquals(condom.getPackageName(), data[0]); assertEquals(condom.TAG, data[1]); assertEquals("getBaseContext", data[2]); condom.bindService(intent, SERVICE_CONNECTION, 0); data = readLastEvent(CondomCore.CondomEvent.BIND_PASS); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals(intent.getPackage(), data[2]); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals(intent.getPackage(), data[2]); assertEquals(2, events.size()); // 2 filtered: bg.service.* data = (Object[]) events.get(0).getData(); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals("bg.service.1", data[2]); assertEquals(expected_intent, data[3]); data = (Object[]) events.get(1).getData(); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals("bg.service.2", data[2]); assertEquals("non.bg.service", resolve.serviceInfo.applicationInfo.packageName); data = readLastEvent(CondomCore.CondomEvent.FILTER_BG_SERVICE); assertEquals(condom.getPackageName(), data[0]);
@Test public void testSelfTargeted() { final TestContext context = new TestContext(); final CondomContext condom = CondomContext.wrap(context, TAG), dry_condom = CondomContext.wrap(context, TAG, new CondomOptions().setDryRun(true)); // Self-targeting test final String self_pkg = condom.getPackageName(); final Intent[] self_targeted_intents = new Intent[] { intent().setPackage(self_pkg), intent().setComponent(new ComponentName(self_pkg, "X")) }; for (final Context context2test : new Context[] {condom, condom.getApplicationContext(), dry_condom, dry_condom.getApplicationContext()}) with(self_targeted_intents, allBroadcastAndServiceApis(context2test), context.EXPECT_BASE_CALLED, context.expectFlags(0)); }
@Override public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException { PackageInfo info = super.getPackageInfo(applyRedirect(packageName) , flags); if (getPackageName().equals(packageName)) { return FakeManifestUtils.buildFakePackageInfo(info); } return info; }
assertEquals(condom.getPackageName(), data[0]); assertEquals(condom.TAG, data[1]); assertEquals("getBaseContext", data[2]); condom.bindService(intent, SERVICE_CONNECTION, 0); data = readLastEvent(CondomCore.CondomEvent.BIND_PASS); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals(intent.getPackage(), data[2]); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals(intent.getPackage(), data[2]); assertEquals(2, events.size()); // 2 filtered: bg.service.* data = (Object[]) events.get(0).getData(); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals("bg.service.1", data[2]); assertEquals(expected_intent, data[3]); data = (Object[]) events.get(1).getData(); assertEquals(condom.getPackageName(), data[0]); assertEquals("Condom." + TAG, data[1]); assertEquals("bg.service.2", data[2]); assertEquals("non.bg.service", resolve.serviceInfo.applicationInfo.packageName); data = readLastEvent(CondomCore.CondomEvent.FILTER_BG_SERVICE); assertEquals(condom.getPackageName(), data[0]);
@Test public void testSelfTargeted() { final TestContext context = new TestContext(); final CondomContext condom = CondomContext.wrap(context, TAG), dry_condom = CondomContext.wrap(context, TAG, new CondomOptions().setDryRun(true)); // Self-targeting test final String self_pkg = condom.getPackageName(); final Intent[] self_targeted_intents = new Intent[] { intent().setPackage(self_pkg), intent().setComponent(new ComponentName(self_pkg, "X")) }; with(self_targeted_intents, allBroadcastApis(condom), context.EXPECT_BASE_CALLED, context.expectFlags(0)); with(self_targeted_intents, allServiceApis(condom), context.EXPECT_BASE_CALLED, context.expectFlags(0)); with(self_targeted_intents, allBroadcastApis(dry_condom), context.EXPECT_BASE_CALLED, context.expectFlags(0)); with(self_targeted_intents, allServiceApis(dry_condom), context.EXPECT_BASE_CALLED, context.expectFlags(0)); }