public void setGadgetAdminData(String container, String gadgetUrl, GadgetAdminData adminData) { if (serverAdminData.hasContainerAdminData(container)) { ContainerAdminData containerData = serverAdminData.getContainerAdminData(container); containerData.addGadgetAdminData(gadgetUrl, adminData); } }
@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 testAddAndRemove() { defaultData.addGadgetAdminData(GADGET_URL_1, whitelistData); assertEquals(whitelistData, defaultData.getGadgetAdminData(GADGET_URL_1)); GadgetAdminData test = defaultData.removeGadgetAdminData(GADGET_URL_1); assertNull(defaultData.getGadgetAdminData(GADGET_URL_1)); assertEquals(whitelistData, test); defaultData.addGadgetAdminData(null, whitelistData); assertNull(defaultData.getGadgetAdminData(null)); test = defaultData.removeGadgetAdminData(null); assertNull(defaultData.getGadgetAdminData(null)); assertNull(test); defaultData.addGadgetAdminData(GADGET_URL_1, null); assertNotNull(defaultData.getGadgetAdminData(GADGET_URL_1)); validData.addGadgetAdminData(GADGET_URL_2, null); assertNotNull(validData.getGadgetAdminData(GADGET_URL_2)); }
@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 testAddAndRemove() { defaultData.addGadgetAdminData(GADGET_URL_1, whitelistData); assertEquals(whitelistData, defaultData.getGadgetAdminData(GADGET_URL_1)); GadgetAdminData test = defaultData.removeGadgetAdminData(GADGET_URL_1); assertNull(defaultData.getGadgetAdminData(GADGET_URL_1)); assertEquals(whitelistData, test); defaultData.addGadgetAdminData(null, whitelistData); assertNull(defaultData.getGadgetAdminData(null)); test = defaultData.removeGadgetAdminData(null); assertNull(defaultData.getGadgetAdminData(null)); assertNull(test); defaultData.addGadgetAdminData(GADGET_URL_1, null); assertNotNull(defaultData.getGadgetAdminData(GADGET_URL_1)); validData.addGadgetAdminData(GADGET_URL_2, null); assertNotNull(validData.getGadgetAdminData(GADGET_URL_2)); }
@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 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 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(); }
@Before public void setUp() throws Exception { featureRegistryProvider = new FeatureRegistryProvider() { public FeatureRegistry get(String repository) throws GadgetException { return mockRegistry; } }; rpcAdminData = new RpcAdminData(Sets.newHashSet("rpc1", "rpc2")); enabledStore = new BasicGadgetAdminStore(featureRegistryProvider, enabledConfig, new ServerAdminData()); enabledStore.init(SAMPLE_STORE); disabledStore = new BasicGadgetAdminStore(featureRegistryProvider, disabledConfig, new ServerAdminData()); horoscopeAdminData = new GadgetAdminData(new FeatureAdminData(HOROSCOPE_FEATURES, Type.WHITELIST), new RpcAdminData()); todoAdminData = new GadgetAdminData(new FeatureAdminData(TODO_FEATURES, Type.BLACKLIST), new RpcAdminData()); fooAdminData = new GadgetAdminData(new FeatureAdminData(FOO_FEATURES, Type.WHITELIST), new RpcAdminData()); httpAdminData = new GadgetAdminData(new FeatureAdminData(HTTP_FEATURES, Type.WHITELIST), rpcAdminData); defaultAdminData = new ContainerAdminData(); defaultAdminData.addGadgetAdminData(TODO, todoAdminData); defaultAdminData.addGadgetAdminData(HOROSCOPE_WITH_PORT, horoscopeAdminData); defaultAdminData.addGadgetAdminData(FOO_GADGET, fooAdminData); defaultAdminData.addGadgetAdminData(HTTP_GADGET, httpAdminData); }
@Before public void setUp() throws Exception { featureRegistryProvider = new FeatureRegistryProvider() { public FeatureRegistry get(String repository) throws GadgetException { return mockRegistry; } }; rpcAdminData = new RpcAdminData(Sets.newHashSet("rpc1", "rpc2")); enabledStore = new BasicGadgetAdminStore(featureRegistryProvider, enabledConfig, new ServerAdminData()); enabledStore.init(SAMPLE_STORE); disabledStore = new BasicGadgetAdminStore(featureRegistryProvider, disabledConfig, new ServerAdminData()); horoscopeAdminData = new GadgetAdminData(new FeatureAdminData(HOROSCOPE_FEATURES, Type.WHITELIST), new RpcAdminData()); todoAdminData = new GadgetAdminData(new FeatureAdminData(TODO_FEATURES, Type.BLACKLIST), new RpcAdminData()); fooAdminData = new GadgetAdminData(new FeatureAdminData(FOO_FEATURES, Type.WHITELIST), new RpcAdminData()); httpAdminData = new GadgetAdminData(new FeatureAdminData(HTTP_FEATURES, Type.WHITELIST), rpcAdminData); defaultAdminData = new ContainerAdminData(); defaultAdminData.addGadgetAdminData(TODO, todoAdminData); defaultAdminData.addGadgetAdminData(HOROSCOPE_WITH_PORT, horoscopeAdminData); defaultAdminData.addGadgetAdminData(FOO_GADGET, fooAdminData); defaultAdminData.addGadgetAdminData(HTTP_GADGET, httpAdminData); }