Search in sources :

Example 1 with KeycloakConfig

use of org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig in project indy by Commonjava.

the class SecurityControllerTest method replaceUiJsonRealmFromConfig.

@Test
public void replaceUiJsonRealmFromConfig() throws Exception {
    final File keycloakJsonFile = temp.newFile();
    try (InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("keycloak-ui-realm-replace.json");
        FileOutputStream out = new FileOutputStream(keycloakJsonFile)) {
        IOUtils.copy(in, out);
    }
    final String realm = "myRealm";
    final KeycloakConfig config = new KeycloakConfig();
    config.setRealm(realm);
    config.setUrl("http://localhost:11111/auth");
    config.setEnabled(true);
    config.setKeycloakUiJson(keycloakJsonFile.getPath());
    config.setRealmPublicKey("FOOBARR");
    final SecurityController controller = new SecurityController(config);
    final String json = controller.getKeycloakUiJson();
    assertThat(json, containsString(realm));
}
Also used : InputStream(java.io.InputStream) FileOutputStream(java.io.FileOutputStream) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) File(java.io.File) KeycloakConfig(org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig) Test(org.junit.Test)

Example 2 with KeycloakConfig

use of org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig in project indy by Commonjava.

the class SecurityControllerTest method replaceKeycloakInitJsRealmFromConfig.

@Test
public void replaceKeycloakInitJsRealmFromConfig() throws Exception {
    final File keycloakJsonFile = temp.newFile();
    try (InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("keycloak-ui-realm-replace.json");
        FileOutputStream out = new FileOutputStream(keycloakJsonFile)) {
        IOUtils.copy(in, out);
    }
    final String realm = "myRealm";
    final KeycloakConfig config = new KeycloakConfig();
    config.setRealm(realm);
    config.setUrl("http://localhost:11111/auth");
    config.setEnabled(true);
    config.setKeycloakUiJson(keycloakJsonFile.getPath());
    config.setRealmPublicKey("FOOBARR");
    final SecurityController controller = new SecurityController(config);
    final String json = controller.getKeycloakInit();
    assertThat(json, containsString("api/security/keycloak.js"));
}
Also used : InputStream(java.io.InputStream) FileOutputStream(java.io.FileOutputStream) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) File(java.io.File) KeycloakConfig(org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig) Test(org.junit.Test)

Example 3 with KeycloakConfig

use of org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig in project indy by Commonjava.

the class HttpProxyTest method setup.

@Before
public void setup() throws Exception {
    contentMetadata.clear();
    core.initGalley();
    final TransportManager transports = new TransportManagerImpl(new HttpClientTransport(new HttpImpl(new MemoryPasswordManager())));
    core.withTransportManager(transports);
    core.initMissingComponents();
    final HttproxConfig config = new HttproxConfig();
    config.setEnabled(true);
    proxyPort = config.getPort();
    final BootOptions bootOpts = new BootOptions();
    bootOpts.setBind(HOST);
    storeManager = new MemoryStoreDataManager(true);
    final IndyObjectMapper mapper = new IndyObjectMapper(true);
    final DefaultIndyConfiguration indyConfig = new DefaultIndyConfiguration();
    indyConfig.setNotFoundCacheTimeoutSeconds(1);
    final ExpiringMemoryNotFoundCache nfc = new ExpiringMemoryNotFoundCache(indyConfig);
    WeftExecutorService rescanService = new PoolWeftExecutorService("test-rescan-executor", (ThreadPoolExecutor) Executors.newCachedThreadPool(), 2, 10f, false, null, null);
    final DownloadManager downloadManager = new DefaultDownloadManager(storeManager, core.getTransferManager(), core.getLocationExpander(), new MockInstance<>(new MockContentAdvisor()), nfc, rescanService);
    WeftExecutorService contentAccessService = new PoolWeftExecutorService("test-content-access-executor", (ThreadPoolExecutor) Executors.newCachedThreadPool(), 2, 10f, false, null, null);
    DirectContentAccess dca = new DefaultDirectContentAccess(downloadManager, contentAccessService);
    ContentDigester contentDigester = new DefaultContentDigester(dca, new CacheHandle<>("content-metadata", contentMetadata));
    final ContentManager contentManager = new DefaultContentManager(storeManager, downloadManager, mapper, new SpecialPathManagerImpl(), new MemoryNotFoundCache(), contentDigester, new ContentGeneratorManager());
    DataFileManager dfm = new DataFileManager(temp.newFolder(), new DataFileEventManager());
    final TemplatingEngine templates = new TemplatingEngine(new GStringTemplateEngine(), dfm);
    final ContentController contentController = new ContentController(storeManager, contentManager, templates, mapper, new MimeTyper());
    KeycloakConfig kcConfig = new KeycloakConfig();
    kcConfig.setEnabled(false);
    final KeycloakProxyAuthenticator auth = new KeycloakProxyAuthenticator(kcConfig, config);
    ScriptEngine scriptEngine = new ScriptEngine(dfm);
    WeftExecutorService transferService = new PoolWeftExecutorService("test-mitm-transfers", (ThreadPoolExecutor) Executors.newCachedThreadPool(), 2, 10f, false, null, null);
    ProxyTransfersExecutor handler = new ProxyTransfersExecutor(transferService);
    IndyTraceConfiguration itc = new IndyTraceConfiguration();
    TraceManager tm = new TraceManager(new OtelTracePlugin(itc, itc), new SpanFieldsDecorator(Collections.emptyList()), itc);
    proxy = new HttpProxy(config, bootOpts, new ProxyAcceptHandler(config, storeManager, contentController, auth, core.getCache(), scriptEngine, new MDCManager(), null, null, new CacheProducer(null, cacheManager, null), handler, tm));
    proxy.start();
}
Also used : PoolWeftExecutorService(org.commonjava.cdi.util.weft.PoolWeftExecutorService) DefaultContentManager(org.commonjava.indy.core.content.DefaultContentManager) SpanFieldsDecorator(org.commonjava.o11yphant.trace.SpanFieldsDecorator) DownloadManager(org.commonjava.indy.content.DownloadManager) DefaultDownloadManager(org.commonjava.indy.core.content.DefaultDownloadManager) TraceManager(org.commonjava.o11yphant.trace.TraceManager) HttpImpl(org.commonjava.maven.galley.transport.htcli.HttpImpl) SpecialPathManagerImpl(org.commonjava.maven.galley.io.SpecialPathManagerImpl) HttproxConfig(org.commonjava.indy.httprox.conf.HttproxConfig) DirectContentAccess(org.commonjava.indy.content.DirectContentAccess) DefaultDirectContentAccess(org.commonjava.indy.core.content.DefaultDirectContentAccess) IndyObjectMapper(org.commonjava.indy.model.core.io.IndyObjectMapper) MemoryStoreDataManager(org.commonjava.indy.mem.data.MemoryStoreDataManager) KeycloakProxyAuthenticator(org.commonjava.indy.httprox.keycloak.KeycloakProxyAuthenticator) OtelTracePlugin(org.commonjava.o11yphant.otel.OtelTracePlugin) ProxyTransfersExecutor(org.commonjava.indy.httprox.handler.ProxyTransfersExecutor) DefaultDownloadManager(org.commonjava.indy.core.content.DefaultDownloadManager) DefaultIndyConfiguration(org.commonjava.indy.conf.DefaultIndyConfiguration) ContentDigester(org.commonjava.indy.content.ContentDigester) DefaultContentDigester(org.commonjava.indy.core.content.DefaultContentDigester) TransportManagerImpl(org.commonjava.maven.galley.transport.TransportManagerImpl) DefaultContentDigester(org.commonjava.indy.core.content.DefaultContentDigester) ContentController(org.commonjava.indy.core.ctl.ContentController) DataFileEventManager(org.commonjava.indy.subsys.datafile.change.DataFileEventManager) DefaultContentManager(org.commonjava.indy.core.content.DefaultContentManager) ContentManager(org.commonjava.indy.content.ContentManager) ExpiringMemoryNotFoundCache(org.commonjava.indy.core.inject.ExpiringMemoryNotFoundCache) MemoryNotFoundCache(org.commonjava.maven.galley.nfc.MemoryNotFoundCache) ExpiringMemoryNotFoundCache(org.commonjava.indy.core.inject.ExpiringMemoryNotFoundCache) GStringTemplateEngine(groovy.text.GStringTemplateEngine) MemoryPasswordManager(org.commonjava.maven.galley.auth.MemoryPasswordManager) BootOptions(org.commonjava.propulsor.boot.BootOptions) MimeTyper(org.commonjava.indy.util.MimeTyper) ScriptEngine(org.commonjava.indy.subsys.template.ScriptEngine) WeftExecutorService(org.commonjava.cdi.util.weft.WeftExecutorService) PoolWeftExecutorService(org.commonjava.cdi.util.weft.PoolWeftExecutorService) CacheProducer(org.commonjava.indy.subsys.infinispan.CacheProducer) HttpClientTransport(org.commonjava.maven.galley.transport.htcli.HttpClientTransport) MDCManager(org.commonjava.indy.bind.jaxrs.MDCManager) DataFileManager(org.commonjava.indy.subsys.datafile.DataFileManager) TemplatingEngine(org.commonjava.indy.subsys.template.TemplatingEngine) MockContentAdvisor(org.commonjava.indy.test.fixture.core.MockContentAdvisor) IndyTraceConfiguration(org.commonjava.indy.subsys.honeycomb.config.IndyTraceConfiguration) TransportManager(org.commonjava.maven.galley.spi.transport.TransportManager) ContentGeneratorManager(org.commonjava.indy.core.content.ContentGeneratorManager) ProxyAcceptHandler(org.commonjava.indy.httprox.handler.ProxyAcceptHandler) DefaultDirectContentAccess(org.commonjava.indy.core.content.DefaultDirectContentAccess) KeycloakConfig(org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig) Before(org.junit.Before)

Aggregations

KeycloakConfig (org.commonjava.indy.subsys.keycloak.conf.KeycloakConfig)3 File (java.io.File)2 FileOutputStream (java.io.FileOutputStream)2 InputStream (java.io.InputStream)2 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)2 Test (org.junit.Test)2 GStringTemplateEngine (groovy.text.GStringTemplateEngine)1 PoolWeftExecutorService (org.commonjava.cdi.util.weft.PoolWeftExecutorService)1 WeftExecutorService (org.commonjava.cdi.util.weft.WeftExecutorService)1 MDCManager (org.commonjava.indy.bind.jaxrs.MDCManager)1 DefaultIndyConfiguration (org.commonjava.indy.conf.DefaultIndyConfiguration)1 ContentDigester (org.commonjava.indy.content.ContentDigester)1 ContentManager (org.commonjava.indy.content.ContentManager)1 DirectContentAccess (org.commonjava.indy.content.DirectContentAccess)1 DownloadManager (org.commonjava.indy.content.DownloadManager)1 ContentGeneratorManager (org.commonjava.indy.core.content.ContentGeneratorManager)1 DefaultContentDigester (org.commonjava.indy.core.content.DefaultContentDigester)1 DefaultContentManager (org.commonjava.indy.core.content.DefaultContentManager)1 DefaultDirectContentAccess (org.commonjava.indy.core.content.DefaultDirectContentAccess)1 DefaultDownloadManager (org.commonjava.indy.core.content.DefaultDownloadManager)1