Search in sources :

Example 16 with FileDeploymentManager

use of org.apache.activemq.artemis.core.config.FileDeploymentManager in project activemq-artemis by apache.

the class FileConfigurationParserTest method testDivertRoutingNameIsNotRequired.

@Test
public void testDivertRoutingNameIsNotRequired() throws Exception {
    String filename = "divertRoutingNameNotRequired.xml";
    FileConfiguration fc = new FileConfiguration();
    FileDeploymentManager deploymentManager = new FileDeploymentManager(filename);
    deploymentManager.addDeployable(fc);
    deploymentManager.readConfiguration();
}
Also used : SimpleString(org.apache.activemq.artemis.api.core.SimpleString) FileDeploymentManager(org.apache.activemq.artemis.core.config.FileDeploymentManager) Test(org.junit.Test)

Example 17 with FileDeploymentManager

use of org.apache.activemq.artemis.core.config.FileDeploymentManager in project activemq-artemis by apache.

the class FileConfigurationTest method testSecuritySettingPlugin.

@Test
public void testSecuritySettingPlugin() throws Exception {
    FileConfiguration fc = new FileConfiguration();
    FileDeploymentManager deploymentManager = new FileDeploymentManager("securitySettingPlugin.xml");
    deploymentManager.addDeployable(fc);
    deploymentManager.readConfiguration();
    List<SecuritySettingPlugin> securitySettingPlugins = fc.getSecuritySettingPlugins();
    SecuritySettingPlugin securitySettingPlugin = securitySettingPlugins.get(0);
    assertTrue(securitySettingPlugin instanceof LegacyLDAPSecuritySettingPlugin);
    LegacyLDAPSecuritySettingPlugin legacyLDAPSecuritySettingPlugin = (LegacyLDAPSecuritySettingPlugin) securitySettingPlugin;
    assertEquals(legacyLDAPSecuritySettingPlugin.getInitialContextFactory(), "testInitialContextFactory");
    assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionURL(), "testConnectionURL");
    assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionUsername(), "testConnectionUsername");
    assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionPassword(), "testConnectionPassword");
    assertEquals(legacyLDAPSecuritySettingPlugin.getConnectionProtocol(), "testConnectionProtocol");
    assertEquals(legacyLDAPSecuritySettingPlugin.getAuthentication(), "testAuthentication");
    assertEquals(legacyLDAPSecuritySettingPlugin.getDestinationBase(), "testDestinationBase");
    assertEquals(legacyLDAPSecuritySettingPlugin.getFilter(), "testFilter");
    assertEquals(legacyLDAPSecuritySettingPlugin.getRoleAttribute(), "testRoleAttribute");
    assertEquals(legacyLDAPSecuritySettingPlugin.getAdminPermissionValue(), "testAdminPermissionValue");
    assertEquals(legacyLDAPSecuritySettingPlugin.getReadPermissionValue(), "testReadPermissionValue");
    assertEquals(legacyLDAPSecuritySettingPlugin.getWritePermissionValue(), "testWritePermissionValue");
    assertEquals(legacyLDAPSecuritySettingPlugin.isEnableListener(), false);
}
Also used : SecuritySettingPlugin(org.apache.activemq.artemis.core.server.SecuritySettingPlugin) LegacyLDAPSecuritySettingPlugin(org.apache.activemq.artemis.core.server.impl.LegacyLDAPSecuritySettingPlugin) FileDeploymentManager(org.apache.activemq.artemis.core.config.FileDeploymentManager) LegacyLDAPSecuritySettingPlugin(org.apache.activemq.artemis.core.server.impl.LegacyLDAPSecuritySettingPlugin) Test(org.junit.Test)

Example 18 with FileDeploymentManager

use of org.apache.activemq.artemis.core.config.FileDeploymentManager in project activemq-artemis by apache.

the class FileConfigurationTest method testContextClassLoaderUsage.

@Test
public void testContextClassLoaderUsage() throws Exception {
    final File customConfiguration = File.createTempFile("hornetq-unittest", ".xml");
    try {
        // copy working configuration to a location where the standard classloader cannot find it
        final Path workingConfiguration = new File(getClass().getResource("/" + getConfigurationName()).toURI()).toPath();
        final Path targetFile = customConfiguration.toPath();
        Files.copy(workingConfiguration, targetFile, StandardCopyOption.REPLACE_EXISTING);
        // build a custom classloader knowing the location of the config created above (used as context class loader)
        final URL customConfigurationDirUrl = customConfiguration.getParentFile().toURI().toURL();
        final ClassLoader testWebappClassLoader = new URLClassLoader(new URL[] { customConfigurationDirUrl });
        final class ThrowableHolder {

            volatile Exception t;
        }
        final ThrowableHolder holder = new ThrowableHolder();
        final Thread webappContextThread = new Thread(new Runnable() {

            @Override
            public void run() {
                FileConfiguration fileConfiguration = new FileConfiguration();
                try {
                    FileDeploymentManager deploymentManager = new FileDeploymentManager(customConfiguration.getName());
                    deploymentManager.addDeployable(fileConfiguration);
                    deploymentManager.readConfiguration();
                } catch (Exception e) {
                    holder.t = e;
                }
            }
        });
        webappContextThread.setContextClassLoader(testWebappClassLoader);
        webappContextThread.start();
        webappContextThread.join();
        if (holder.t != null) {
            fail("Exception caught while loading configuration with the context class loader: " + holder.t.getMessage());
        }
    } finally {
        customConfiguration.delete();
    }
}
Also used : Path(java.nio.file.Path) URLClassLoader(java.net.URLClassLoader) URLClassLoader(java.net.URLClassLoader) FileDeploymentManager(org.apache.activemq.artemis.core.config.FileDeploymentManager) File(java.io.File) URL(java.net.URL) Test(org.junit.Test)

Example 19 with FileDeploymentManager

use of org.apache.activemq.artemis.core.config.FileDeploymentManager in project activemq-artemis by apache.

the class FileConfigurationTest method testSecurityRoleMapping.

@Test
public void testSecurityRoleMapping() throws Exception {
    FileConfiguration fc = new FileConfiguration();
    FileDeploymentManager deploymentManager = new FileDeploymentManager("securityRoleMappings.xml");
    deploymentManager.addDeployable(fc);
    deploymentManager.readConfiguration();
    Map<String, Set<Role>> securityRoles = fc.getSecurityRoles();
    Set<Role> roles = securityRoles.get("#");
    // cn=mygroup,dc=local,dc=com = amq1
    Role testRole1 = new Role("cn=mygroup,dc=local,dc=com", false, false, false, false, true, false, false, false, false, false);
    // myrole1 = amq1 + amq2
    Role testRole2 = new Role("myrole1", false, false, false, false, true, true, false, false, false, false);
    // myrole3 = amq3 + amq4
    Role testRole3 = new Role("myrole3", false, false, true, true, false, false, false, false, false, false);
    // myrole4 = amq5 + amq!@#$%^&*() + amq6
    Role testRole4 = new Role("myrole4", true, true, false, false, false, false, false, true, true, true);
    // myrole5 = amq4 = amq3 + amq4
    Role testRole5 = new Role("myrole5", false, false, true, true, false, false, false, false, false, false);
    Role testRole6 = new Role("amq1", false, false, false, false, true, false, false, false, false, false);
    Role testRole7 = new Role("amq2", false, false, false, false, false, true, false, false, false, false);
    Role testRole8 = new Role("amq3", false, false, true, false, false, false, false, false, false, false);
    Role testRole9 = new Role("amq4", false, false, true, true, false, false, false, false, false, false);
    Role testRole10 = new Role("amq5", false, false, false, false, false, false, false, false, true, true);
    Role testRole11 = new Role("amq6", false, true, false, false, false, false, false, true, false, false);
    Role testRole12 = new Role("amq7", false, false, false, false, false, false, true, false, false, false);
    Role testRole13 = new Role("amq!@#$%^&*()", true, false, false, false, false, false, false, false, false, false);
    assertEquals(13, roles.size());
    assertTrue(roles.contains(testRole1));
    assertTrue(roles.contains(testRole2));
    assertTrue(roles.contains(testRole3));
    assertTrue(roles.contains(testRole4));
    assertTrue(roles.contains(testRole5));
    assertTrue(roles.contains(testRole6));
    assertTrue(roles.contains(testRole7));
    assertTrue(roles.contains(testRole8));
    assertTrue(roles.contains(testRole9));
    assertTrue(roles.contains(testRole10));
    assertTrue(roles.contains(testRole11));
    assertTrue(roles.contains(testRole12));
    assertTrue(roles.contains(testRole13));
}
Also used : Role(org.apache.activemq.artemis.core.security.Role) HashSet(java.util.HashSet) Set(java.util.Set) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) FileDeploymentManager(org.apache.activemq.artemis.core.config.FileDeploymentManager) Test(org.junit.Test)

Example 20 with FileDeploymentManager

use of org.apache.activemq.artemis.core.config.FileDeploymentManager in project activemq-artemis by apache.

the class FileConfigurationTest method createConfiguration.

@Override
protected Configuration createConfiguration() throws Exception {
    FileConfiguration fc = new FileConfiguration();
    FileDeploymentManager deploymentManager = new FileDeploymentManager(getConfigurationName());
    deploymentManager.addDeployable(fc);
    deploymentManager.readConfiguration();
    return fc;
}
Also used : FileDeploymentManager(org.apache.activemq.artemis.core.config.FileDeploymentManager)

Aggregations

FileDeploymentManager (org.apache.activemq.artemis.core.config.FileDeploymentManager)25 FileConfiguration (org.apache.activemq.artemis.core.config.impl.FileConfiguration)12 Test (org.junit.Test)11 FileJMSConfiguration (org.apache.activemq.artemis.jms.server.config.impl.FileJMSConfiguration)8 File (java.io.File)5 SimpleString (org.apache.activemq.artemis.api.core.SimpleString)5 ActiveMQServerImpl (org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl)5 ActiveMQJAASSecurityManager (org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager)5 SecurityConfiguration (org.apache.activemq.artemis.core.config.impl.SecurityConfiguration)3 ActiveMQServer (org.apache.activemq.artemis.core.server.ActiveMQServer)3 JMSServerManagerImpl (org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl)3 InVMLoginModule (org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule)3 JndiBindingRegistry (org.apache.activemq.artemis.core.registry.JndiBindingRegistry)2 JMSQueueConfiguration (org.apache.activemq.artemis.jms.server.config.JMSQueueConfiguration)2 TopicConfiguration (org.apache.activemq.artemis.jms.server.config.TopicConfiguration)2 URL (java.net.URL)1 URLClassLoader (java.net.URLClassLoader)1 Path (java.nio.file.Path)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1