@Test public void testIsWhiteListed() throws Exception { assertTrue(enabledStore.isWhitelisted(DEFAULT, HOROSCOPE)); assertTrue(enabledStore.isWhitelisted(DEFAULT, TEST_GADGET)); assertFalse(enabledStore.isWhitelisted(DEFAULT, "https://example.com/gadget.xml")); assertFalse(enabledStore.isWhitelisted("myContainer", HOROSCOPE)); assertTrue(enabledStore.isWhitelisted(DEFAULT, "http://foo.com/gadget.xml")); assertTrue(enabledStore.isWhitelisted(DEFAULT, "http://example.com/gadget.xml")); assertTrue(disabledStore.isWhitelisted(DEFAULT, HOROSCOPE)); assertTrue(disabledStore.isWhitelisted(DEFAULT, TEST_GADGET)); assertTrue(disabledStore.isWhitelisted("myContainer", HOROSCOPE)); }
@Test public void testIsWhiteListed() throws Exception { assertTrue(enabledStore.isWhitelisted(DEFAULT, HOROSCOPE)); assertTrue(enabledStore.isWhitelisted(DEFAULT, TEST_GADGET)); assertFalse(enabledStore.isWhitelisted(DEFAULT, "https://example.com/gadget.xml")); assertFalse(enabledStore.isWhitelisted("myContainer", HOROSCOPE)); assertTrue(enabledStore.isWhitelisted(DEFAULT, "http://foo.com/gadget.xml")); assertTrue(enabledStore.isWhitelisted(DEFAULT, "http://example.com/gadget.xml")); assertTrue(disabledStore.isWhitelisted(DEFAULT, HOROSCOPE)); assertTrue(disabledStore.isWhitelisted(DEFAULT, TEST_GADGET)); assertTrue(disabledStore.isWhitelisted("myContainer", HOROSCOPE)); }
@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)); }
@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 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 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 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 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 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 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 testSetGadgetAdminData() { assertEquals(horoscopeAdminData, enabledStore.getGadgetAdminData(DEFAULT, HOROSCOPE)); horoscopeAdminData.getFeatureAdminData().addFeature("foo_feature"); enabledStore.setGadgetAdminData(DEFAULT, HOROSCOPE, horoscopeAdminData); assertTrue(enabledStore.getGadgetAdminData(DEFAULT, HOROSCOPE).getFeatureAdminData() .getFeatures().contains("foo_feature")); assertEquals(httpAdminData, enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml")); enabledStore.setGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml", todoAdminData); assertEquals(todoAdminData, enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml")); enabledStore.setGadgetAdminData(DEFAULT, "http://example.com/gadget1.xml", null); assertNotNull(enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget1.xml")); enabledStore.setGadgetAdminData(DEFAULT, null, horoscopeAdminData); assertNull(enabledStore.getGadgetAdminData(DEFAULT, null)); }
@Test public void testSetGadgetAdminData() { assertEquals(horoscopeAdminData, enabledStore.getGadgetAdminData(DEFAULT, HOROSCOPE)); horoscopeAdminData.getFeatureAdminData().addFeature("foo_feature"); enabledStore.setGadgetAdminData(DEFAULT, HOROSCOPE, horoscopeAdminData); assertTrue(enabledStore.getGadgetAdminData(DEFAULT, HOROSCOPE).getFeatureAdminData() .getFeatures().contains("foo_feature")); assertEquals(httpAdminData, enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml")); enabledStore.setGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml", todoAdminData); assertEquals(todoAdminData, enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget2.xml")); enabledStore.setGadgetAdminData(DEFAULT, "http://example.com/gadget1.xml", null); assertNotNull(enabledStore.getGadgetAdminData(DEFAULT, "http://example.com/gadget1.xml")); enabledStore.setGadgetAdminData(DEFAULT, null, horoscopeAdminData); assertNull(enabledStore.getGadgetAdminData(DEFAULT, null)); }