@Inject public BlobCrypterSecurityTokenCodec(ContainerConfig config) { try { config.addConfigObserver(this, false); loadContainers(config, config.getContainers(), crypters, domains, tokenTTLs); } catch (IOException e) { // Someone specified securityTokenKeyFile, but we couldn't load the key. That merits killing // the server. LOG.log(Level.SEVERE, "Error while initializing BlobCrypterSecurityTokenCodec", e); throw new RuntimeException(e); } }
@Inject public BlobCrypterSecurityTokenCodec(ContainerConfig config) { try { config.addConfigObserver(this, false); loadContainers(config, config.getContainers(), crypters, domains, tokenTTLs); } catch (IOException e) { // Someone specified securityTokenKeyFile, but we couldn't load the key. That merits killing // the server. LOG.log(Level.SEVERE, "Error while initializing BlobCrypterSecurityTokenCodec", e); throw new RuntimeException(e); } }
@Inject public BlobCrypterSecurityTokenCodec(ContainerConfig config) { try { config.addConfigObserver(this, false); loadContainers(config, config.getContainers(), crypters, domains, tokenTTLs); } catch (IOException e) { // Someone specified securityTokenKeyFile, but we couldn't load the key. That merits killing // the server. LOG.log(Level.SEVERE, "Error while initializing BlobCrypterSecurityTokenCodec", e); throw new RuntimeException(e); } }
@Test public void parseBasicConfig() throws Exception { ContainerConfig config = new JsonContainerConfig(createDefaultContainer().getAbsolutePath(), Expressions.forTesting()); assertEquals(1, config.getContainers().size()); for (String container : config.getContainers()) { assertEquals(DEFAULT_CONTAINER, container); } String value = config.getString(DEFAULT_CONTAINER, TOP_LEVEL_NAME); assertEquals(TOP_LEVEL_VALUE, value); Map<String, Object> nested = config.getMap(DEFAULT_CONTAINER, NESTED_KEY); String nestedValue = nested.get(NESTED_NAME).toString(); assertEquals(NESTED_VALUE, nestedValue); }
@Test public void testGetContainers() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertEquals(ImmutableSet.of("default", "extra"), config.getContainers()); }
@Test public void testGetContainers() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertEquals(ImmutableSet.of("default", "extra"), config.getContainers()); }
@Test public void testAddNewContainer() throws Exception { ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("yes", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testGetContainers() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertEquals(ImmutableSet.of("default", "extra"), config.getContainers()); }
@Test public void testAddNewContainer() throws Exception { ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("yes", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testAddNewContainer() throws Exception { ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("yes", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testMissingConfig() throws Exception { ContainerConfig containerMissingConfig = mock(ContainerConfig.class); expect(containerMissingConfig.getContainers()) .andReturn(Arrays.asList(ContainerConfig.DEFAULT_CONTAINER)); replay(); lockedDomainService = new HashLockedDomainService(containerMissingConfig, true); assertFalse(lockedDomainService.gadgetCanRender("www.example.com", wantsLocked, "default")); assertTrue(lockedDomainService.gadgetCanRender("www.example.com", notLocked, "default")); }
@Test public void testReplaceContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(MODIFIED_EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("no", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testReplaceContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(MODIFIED_EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("no", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testReplaceContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.of("extra")), EasyMock.eq(ImmutableSet.<String>of())); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().addContainer(MODIFIED_EXTRA_CONTAINER).commit(); assertTrue(config.getContainers().contains("extra")); assertEquals("no", config.getString("extra", "inherited")); EasyMock.verify(observer); }
@Test public void testRemoveContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.<String>of()), EasyMock.eq(ImmutableSet.of("extra"))); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().removeContainer("extra").commit(); assertFalse(config.getContainers().contains("extra")); EasyMock.verify(observer); }
@Test public void testRemoveContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.<String>of()), EasyMock.eq(ImmutableSet.of("extra"))); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().removeContainer("extra").commit(); assertFalse(config.getContainers().contains("extra")); EasyMock.verify(observer); }
@Test public void testRemoveContainer() throws Exception { config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); config.newTransaction().addContainer(EXTRA_CONTAINER).commit(); ConfigObserver observer = EasyMock.createMock(ContainerConfig.ConfigObserver.class); observer.containersChanged(EasyMock.isA(ContainerConfig.class), EasyMock.eq(ImmutableSet.<String>of()), EasyMock.eq(ImmutableSet.of("extra"))); EasyMock.replay(observer); config.addConfigObserver(observer, false); config.newTransaction().removeContainer("extra").commit(); assertFalse(config.getContainers().contains("extra")); EasyMock.verify(observer); }
@Test public void testAliasesArePopulated() throws Exception { Map<String, Object> container = makeContainer(ImmutableList.of("original", "alias"), "property", "value"); config.newTransaction().addContainer(container).commit(); assertEquals(ImmutableSet.of("default", "original", "alias"), config.getContainers()); assertEquals("value", config.getString("original", "property")); assertEquals("value", config.getString("alias", "property")); } }
@Test public void testAliasesArePopulated() throws Exception { Map<String, Object> container = makeContainer(ImmutableList.of("original", "alias"), "property", "value"); config.newTransaction().addContainer(container).commit(); assertEquals(ImmutableSet.of("default", "original", "alias"), config.getContainers()); assertEquals("value", config.getString("original", "property")); assertEquals("value", config.getString("alias", "property")); } }
@Test public void testAliasesArePopulated() throws Exception { Map<String, Object> container = makeContainer(ImmutableList.of("original", "alias"), "property", "value"); config.newTransaction().addContainer(container).commit(); assertEquals(ImmutableSet.of("default", "original", "alias"), config.getContainers()); assertEquals("value", config.getString("original", "property")); assertEquals("value", config.getString("alias", "property")); } }