All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.as.test.shared.TestSuiteEnvironment Maven / Gradle / Ivy

There is a newer version: 35.0.0.Beta1
Show newest version
package org.jboss.as.test.shared;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import org.apache.commons.lang.StringUtils;

import org.jboss.as.arquillian.container.Authentication;
import org.jboss.as.controller.client.ModelControllerClient;

/**
 * Class that allows for non arquillian tests to access the current server address and port, and other testsuite environment
 * properties.
 * 

* This should only be used for tests that do not have access to the {@link org.jboss.as.arquillian.container.ManagementClient} * * @author Stuart Douglas */ public class TestSuiteEnvironment { public static ModelControllerClient getModelControllerClient() { try { return ModelControllerClient.Factory.create( InetAddress.getByName(getServerAddress()), TestSuiteEnvironment.getServerPort(), Authentication.getCallbackHandler() ); } catch (UnknownHostException e) { throw new RuntimeException(e); } } public static String getJavaPath() { String home = System.getenv("JAVA_HOME"); if(home == null) { home = getSystemProperty("java.home"); } if(home != null) { return home + java.io.File.separator + "bin" + java.io.File.separator + "java"; } return "java"; } public static String getSystemProperty(String name, String def) { return System.getProperty(name, def); } public static String getSystemProperty(String name) { return System.getProperty(name); } public static void setSystemProperty(String name, String value) { System.setProperty(name, value); } public static void clearSystemProperty(String name) { System.clearProperty(name); } public static String getTmpDir() { return getSystemProperty("java.io.tmpdir"); } /** * @return The server port for node0 */ public static int getServerPort() { return Integer.getInteger("as.managementPort", 9990); } /** * @return The server address of node0 */ public static String getServerAddress() { return formatPossibleIpv6Address(System.getProperty("node0", "localhost")); } /** * @return The ipv6 arguments that should be used when launching external java processes, such as the application client */ public static String getIpv6Args() { if (System.getProperty("ipv6") == null) { return " -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false "; } return " -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true "; } /** * */ public static void getIpv6Args(List command) { if (System.getProperty("ipv6") == null) { command.add("-Djava.net.preferIPv4Stack=true"); command.add("-Djava.net.preferIPv6Addresses=false"); } else { command.add("-Djava.net.preferIPv4Stack=false"); command.add("-Djava.net.preferIPv6Addresses=true"); } } public static String formatPossibleIpv6Address(String address) { if (address == null) { return address; } if (!address.contains(":")) { return address; } if (address.startsWith("[") && address.endsWith("]")) { return address; } return "[" + address + "]"; } public static String getSecondaryTestAddress(final boolean useCanonicalHost) { String address = System.getProperty("secondary.test.address"); if (StringUtils.isBlank(address)) { address = getServerAddress(); } if (useCanonicalHost) { address = StringUtils.strip(address, "[]"); } return address; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy