/** * Adds gadget administration information for this container. * * @param gadgetUrl * the URL of the gadget the admin data is for. * @param toAdd * the administration data for the gadget. */ public void addGadgetAdminData(String gadgetUrl, GadgetAdminData toAdd) { if (gadgetUrl != null) { if (toAdd == null) { toAdd = new GadgetAdminData(); } this.gadgetAdminMap.put(gadgetUrl, toAdd); } }
/** * Creates a gadget administration data. * * @param gadgetJson * the gadget JSON object. * @return gadget administration data. * @throws JSONException * thrown when the information cannot found in the JSON object. */ private GadgetAdminData createGadgetAdminData(JSONObject gadgetJson) throws JSONException { FeatureAdminData featureData = new FeatureAdminData(); RpcAdminData rpcData = new RpcAdminData(); if(gadgetJson.has(FEATURES)) { featureData = createFeatureAdminData(gadgetJson.getJSONObject(FEATURES)); } if(gadgetJson.has(RPC)) { rpcData = createRpcAdminData(gadgetJson.getJSONObject(RPC)); } return new GadgetAdminData(featureData, rpcData); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); rpcServiceIds = Sets.newHashSet(RPC1, RPC2); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(rpcServiceIds); whitelistInfo = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistInfo = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); nullInfo = new GadgetAdminData(null, null); defaultInfo = new GadgetAdminData(); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); rpcServiceIds = Sets.newHashSet(RPC1, RPC2); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(rpcServiceIds); whitelistInfo = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistInfo = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); nullInfo = new GadgetAdminData(null, null); defaultInfo = new GadgetAdminData(); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(Sets.newHashSet("rpc1", "rpc2")); whitelistData = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistData = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); gadgetMap = Maps.newHashMap(); gadgetMap.put(GADGET_URL_1, whitelistData); gadgetMap.put(GADGET_URL_2, blacklistData); gadgetMap.put(GADGET_URL_3, new GadgetAdminData()); gadgetMap.put("http://*", blacklistData); gadgetMap.put(GADGET_URL_4_WITH_PORT, whitelistData); validData = new ContainerAdminData(gadgetMap); emptyData = new ContainerAdminData(new HashMap<String, GadgetAdminData>()); nullData = new ContainerAdminData(null); defaultData = new ContainerAdminData(); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(Sets.newHashSet("rpc1", "rpc2")); whitelistData = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistData = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); gadgetMap = Maps.newHashMap(); gadgetMap.put(GADGET_URL_1, whitelistData); gadgetMap.put(GADGET_URL_2, blacklistData); gadgetMap.put(GADGET_URL_3, new GadgetAdminData()); gadgetMap.put("http://*", blacklistData); gadgetMap.put(GADGET_URL_4_WITH_PORT, whitelistData); validData = new ContainerAdminData(gadgetMap); emptyData = new ContainerAdminData(new HashMap<String, GadgetAdminData>()); nullData = new ContainerAdminData(null); defaultData = new ContainerAdminData(); }
@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 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 testEquals() { assertTrue(whitelistInfo.equals(new GadgetAdminData(whitelistFeatures, rpcAdminData))); assertTrue(nullInfo.equals(new GadgetAdminData(null, null))); assertTrue(defaultInfo.equals(new GadgetAdminData())); assertTrue(nullInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(null)); assertFalse(whitelistInfo.equals(new Object())); assertFalse(whitelistInfo.equals(blacklistInfo)); assertFalse(whitelistInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(nullInfo)); }
@Test public void testEquals() { assertTrue(whitelistInfo.equals(new GadgetAdminData(whitelistFeatures, rpcAdminData))); assertTrue(nullInfo.equals(new GadgetAdminData(null, null))); assertTrue(defaultInfo.equals(new GadgetAdminData())); assertTrue(nullInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(null)); assertFalse(whitelistInfo.equals(new Object())); assertFalse(whitelistInfo.equals(blacklistInfo)); assertFalse(whitelistInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(nullInfo)); }
@Test public void testGetGadgetAdminData() { assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_1)); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_1_WITH_PORT)); assertEquals(blacklistData, validData.getGadgetAdminData(GADGET_URL_2)); assertEquals(new GadgetAdminData(), validData.getGadgetAdminData("http://example.com/gadgets/gadget.xml")); assertEquals(new GadgetAdminData(), validData.getGadgetAdminData("http://example.com/gadget.xml")); assertEquals(blacklistData, validData.getGadgetAdminData("http://foo.com/gadget.xml")); assertEquals(blacklistData, validData.getGadgetAdminData("http://foo.com:80/gadget.xml")); assertNull(validData.getGadgetAdminData("https://foo.com:80/gadget.xml")); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_4)); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_4_WITH_PORT)); assertNull(emptyData.getGadgetAdminData(GADGET_URL_1)); assertNull(nullData.getGadgetAdminData(GADGET_URL_1)); assertNull(defaultData.getGadgetAdminData(GADGET_URL_1)); }
@Test public void testGetGadgetAdminData() { assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_1)); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_1_WITH_PORT)); assertEquals(blacklistData, validData.getGadgetAdminData(GADGET_URL_2)); assertEquals(new GadgetAdminData(), validData.getGadgetAdminData("http://example.com/gadgets/gadget.xml")); assertEquals(new GadgetAdminData(), validData.getGadgetAdminData("http://example.com/gadget.xml")); assertEquals(blacklistData, validData.getGadgetAdminData("http://foo.com/gadget.xml")); assertEquals(blacklistData, validData.getGadgetAdminData("http://foo.com:80/gadget.xml")); assertNull(validData.getGadgetAdminData("https://foo.com:80/gadget.xml")); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_4)); assertEquals(whitelistData, validData.getGadgetAdminData(GADGET_URL_4_WITH_PORT)); assertNull(emptyData.getGadgetAdminData(GADGET_URL_1)); assertNull(nullData.getGadgetAdminData(GADGET_URL_1)); assertNull(defaultData.getGadgetAdminData(GADGET_URL_1)); }