@Test public void testFeatureAdminNullContainerData() throws Exception { List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); mockGadget(allFeatures, "foocontainer"); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testFeatureAdminNullContainerData() throws Exception { List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); mockGadget(allFeatures, "foocontainer"); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testFeatureAdminNullGadgetData() throws Exception { List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); mockGadget(allFeatures, DEFAULT, "https://example.com/dontexist.xml"); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testFeatureAdminNullGadgetData() throws Exception { List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); mockGadget(allFeatures, DEFAULT, "https://example.com/dontexist.xml"); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testGetAdditionalRpcServiceIds() throws Exception { mockGadget(ImmutableList.<Feature>of(), DEFAULT, "http://example.com/gadget.xml"); replay(); assertEquals(Sets.newHashSet("rpc1", "rpc2"), enabledStore.getAdditionalRpcServiceIds(mockGadget)); assertEquals(Sets.newHashSet(), disabledStore.getAdditionalRpcServiceIds(mockGadget)); reset(); mockGadget(ImmutableList.<Feature>of(), DEFAULT, "https://example.com/gadget.xml"); replay(); assertEquals(Sets.newHashSet(), enabledStore.getAdditionalRpcServiceIds(mockGadget)); assertEquals(Sets.newHashSet(), disabledStore.getAdditionalRpcServiceIds(mockGadget)); reset(); mockGadget(ImmutableList.<Feature>of(), DEFAULT, HOROSCOPE); replay(); assertEquals(Sets.newHashSet(), enabledStore.getAdditionalRpcServiceIds(mockGadget)); assertEquals(Sets.newHashSet(), disabledStore.getAdditionalRpcServiceIds(mockGadget)); }
@Test public void testWhitelistAll() throws Exception { Set<String> features = Sets.newHashSet(); List<String> featuresAndDeps = Lists.newArrayList(); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo1", "foo2", "foo3"); FeatureAdminData data = new FeatureAdminData(features, Type.BLACKLIST); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo1", "foo2", "foo3"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature(gadgetRequiredFeatureNames.get(2), true)); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testBlacklistAll() throws Exception { Set<String> features = Sets.newHashSet(); List<String> featuresAndDeps = Lists.newArrayList(); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo1", "foo2", "foo3"); FeatureAdminData data = new FeatureAdminData(features, Type.WHITELIST); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo1", "foo2", "foo3"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature(gadgetRequiredFeatureNames.get(2), true)); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testDeniedGadgetBlacklist() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo5", "dep1", "dep2", "foo6"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.BLACKLIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testAllowedGadgetBlacklist() throws Exception { Set<String> features = Sets.newHashSet("foo5", "foo6"); List<String> featuresAndDeps = Lists.newArrayList("foo5", "dep1", "dep2", "foo6"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.BLACKLIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testWhitelistAll() throws Exception { Set<String> features = Sets.newHashSet(); List<String> featuresAndDeps = Lists.newArrayList(); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo1", "foo2", "foo3"); FeatureAdminData data = new FeatureAdminData(features, Type.BLACKLIST); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo1", "foo2", "foo3"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature(gadgetRequiredFeatureNames.get(2), true)); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testAllowedGadgetBlacklist() throws Exception { Set<String> features = Sets.newHashSet("foo5", "foo6"); List<String> featuresAndDeps = Lists.newArrayList("foo5", "dep1", "dep2", "foo6"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.BLACKLIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testBlacklistAll() throws Exception { Set<String> features = Sets.newHashSet(); List<String> featuresAndDeps = Lists.newArrayList(); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo1", "foo2", "foo3"); FeatureAdminData data = new FeatureAdminData(features, Type.WHITELIST); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo1", "foo2", "foo3"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature(gadgetRequiredFeatureNames.get(2), true)); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testDeniedGadgetBlacklist() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo5", "dep1", "dep2", "foo6"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.BLACKLIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, null)); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testDeniedGadgetWhitelist() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo4", "dep1", "dep2", "foo3"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4", "foo5"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4", "foo5"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature(gadgetRequiredFeatureNames.get(2), true)); FeatureAdminData data = new FeatureAdminData(features,Type.WHITELIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, new RpcAdminData())); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertFalse(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testAllowedGadgetWhitelist() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo4", "dep1", "dep2", "foo3"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.WHITELIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, new RpcAdminData())); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testAllowedGadgetWhitelist() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo4", "dep1", "dep2", "foo3"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true)); FeatureAdminData data = new FeatureAdminData(features,Type.WHITELIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, new RpcAdminData())); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testDeniedOptionalFeature() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo4", "dep1", "dep2", "foo3"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature("foo5", false)); FeatureAdminData data = new FeatureAdminData(features,Type.WHITELIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, new RpcAdminData())); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testDeniedOptionalFeature() throws Exception { Set<String> features = Sets.newHashSet("foo4", "foo3"); List<String> featuresAndDeps = Lists.newArrayList("foo4", "dep1", "dep2", "foo3"); List<String> allGadgetFeatures = Lists.newArrayList("dep1", "dep2", "foo3", "foo4"); List<String> gadgetRequiredFeatureNames = Lists.newArrayList("foo3", "foo4"); List<Feature> allFeatures = Lists.newArrayList( createMockFeature(gadgetRequiredFeatureNames.get(0), true), createMockFeature(gadgetRequiredFeatureNames.get(1), true), createMockFeature("foo5", false)); FeatureAdminData data = new FeatureAdminData(features,Type.WHITELIST); enabledStore.getContainerAdminData(DEFAULT).addGadgetAdminData(TEST_GADGET, new GadgetAdminData(data, new RpcAdminData())); mockRegistryForFeatureAdmin(features, featuresAndDeps, allGadgetFeatures, gadgetRequiredFeatureNames); mockGadget(allFeatures); replay(); assertTrue(enabledStore.checkFeatureAdminInfo(mockGadget)); assertTrue(disabledStore.checkFeatureAdminInfo(mockGadget)); verify(); }
@Test public void testIsAllowedFeature() throws Exception { mockGadget(ImmutableList.<Feature> of(), DEFAULT, TODO); Feature denied = createMockFeature("setprefs", true); Feature allowed = createMockFeature("foo", true); replay(); assertFalse(enabledStore.isAllowedFeature(denied, mockGadget)); assertTrue(enabledStore.isAllowedFeature(allowed, mockGadget)); assertTrue(disabledStore.isAllowedFeature(denied, mockGadget)); assertTrue(disabledStore.isAllowedFeature(allowed, mockGadget)); }
@Test public void testIsAllowedFeature() throws Exception { mockGadget(ImmutableList.<Feature> of(), DEFAULT, TODO); Feature denied = createMockFeature("setprefs", true); Feature allowed = createMockFeature("foo", true); replay(); assertFalse(enabledStore.isAllowedFeature(denied, mockGadget)); assertTrue(enabledStore.isAllowedFeature(allowed, mockGadget)); assertTrue(disabledStore.isAllowedFeature(denied, mockGadget)); assertTrue(disabledStore.isAllowedFeature(allowed, mockGadget)); }